We’re halfway through the course. Let’s take a second step back to think about programming languages more broadly.
This assignment requires you to read two short essays by Paul Graham and reflect on what you see in them. It should not take very long.
This is an individual assignment, not a team assignment; everyone submits their own work.
Paul Graham wrote the original software for setting up on-line stores that Yahoo! currently uses, and beat many competitors to the finish line. He wrote it in Lisp, which is closely related to Scheme and, of course, Racket. Graham’s article Beating the Averages discusses why he believes Lisp gave his million-dollar startup a competitive advantage. Read the article, maybe twice; it isn’t very long.
Question 1: Identify three features of Lisp that Graham believes gave his company a competitive advantage. At least two should be technical features of the language (rather than social). Describe (in one or two sentences each) the features and explain how they provided an advantage. Be sure to distinguish between features of the language and the effects of using it.
Question 2: Graham’s article makes several observations about programming and programming languages. Identify and state the two that you find most significant. Explain (in one or two sentences each) why you find your chosen observations significant.
In another article Graham provides a surface-level critique of Java. Read the article, maybe twice; it isn’t very long.
Question 3:In your own words, state three questions that Graham’s article teaches you to ask when approaching a new programmibg language.
Write plain text, clearly identifying your answers to each of the three questions.
Keep your answer short and direct: three sentences would be ok, two would be very much better, one would be brilliant.
Writing matters: spelling and grammar errors and sloppy writing (such as sentence fragments) will cost you points.
Use ESC-q in DrRacket to automatically insert newlines and simplify formatting. If pasting from another editor, be sure to use ESC-q to reformat the text (the handin server will reject lines that are too long).
Let us know if you have any questions!
Thanks to Kathi Fisler for large portions of this exercise. She also writes "if you enjoy Graham’s writing, his article Taste for Makers is a lovely piece on the role of taste in design" [not required for this assignment].