Helping the Average Programmer
๐ Abstract
The article discusses Paul Graham's new programming language called Arc, which is a dialect of Lisp. The author argues that while designing a language for good programmers may be an "easy problem", it is a waste of time as good programmers are a small percentage of all programmers and making them slightly more efficient will have a negligible effect. The author suggests that focusing on improving the efficiency of average programmers would have a much greater impact.
๐ Q&A
[01] The Design Philosophy of Arc
1. What is the design philosophy of Arc according to the author?
- The design philosophy of Arc is to be a language for good programmers.
- The author argues that languages designed for good programmers last (e.g., C, Smalltalk, Lisp), while those designed for average programmers don't (e.g., Cobol, Pascal, Ada).
2. What is the author's view on designing a language for good programmers?
- The author doesn't think there's anything inherently wrong with designing a language for good programmers, but he considers it a waste of time.
- The author believes that good programmers are already very efficient, so making them slightly more efficient will have a negligible effect on the world.
3. What does the author suggest should be the focus instead?
- The author suggests that the focus should be on making average programmers 5% more efficient or creating 5% better programs, as this would have a huge impact.
- The author cites the success of Basic and Microsoft tools like Access as examples of tools that have benefited average programmers.
[02] Improving Average Programmers vs. Good Programmers
1. What analogy does the author use to compare improving good programmers vs. average programmers?
- The author compares improving the Porsche (good programmers) to improving the Cadillac/GM car (average programmers), arguing that the latter would have a much greater impact.
2. What example does the author provide to illustrate the impact of improving tools for average programmers?
- The author's wife, who had a business degree and was a database programmer using Access, was able to contribute significantly to her company. The author argues that Arc would not help companies like hers, but tools that make average programmers more efficient would.
3. What specific example does the author provide of a tool that could benefit average programmers?
- The author suggests creating a system that makes it easier for average programmers to create better dialog boxes, as current options are either too basic or require significant programming effort.
4. What does the author say about the difficulty of designing tools and languages for average programmers?
- The author states that designing tools and languages for average programmers is hard, as it requires anticipating their needs and special requirements, which his friend Drew was able to do with his dialog box library.
5. What does the author believe would have a greater impact than designing Arc?
- The author believes that making the average programmer more efficient or creating better programs with the same amount of work would have a much greater impact than designing Arc.