The choice of programming language in software development is important based on what the goal is. Different programming languages have different strengths and are better for different things, so it depends what the ultimate goal is. Paul Graham reinforces this idea in his essay “Revenge of the Nerds,” saying, “Some languages are better, for certain problems, than others” (p.182). Graham also analyzes the emerging languages at the time of writing “Revenge of the Nerds,” and he notices that out of Java, Perl, Python, and Ruby, “each one is progressively more like Lisp” (p.183). Graham clearly believes Lisp is the best programming language, at least for his purposes.
In Graham’s essay, “Beating the Averages”, he describes what factors made Lisp the ideal language for his startup, Viaweb. Lisp was not widely used for end-user applications at the time, and many competitors didn’t understand it. It was also a “really good language for writing software quickly” (p.172) which gave Viaweb a leg up over competitors because Graham and Morris could implement new features faster than any competitor, so that Viaweb was never behind. Because Lisp was generally considered odd, rarely used outside of research and universities, and was quick to write, it was perfect and probably the “best” language for Graham and Morris to use for their startup.
I can’t really comment on Graham’s point that languages are evolving toward being similar to Lisp because I’ve never seen or used it, but I’ll take his word for it. In his essay, “The Hundred Year Language”, Graham further discusses what languages will eventually evolve into, and what makes a good programming language. One thing I agreed with was his point that “inefficient software isn’t gross. What’s gross is a language that makes programmers do needless work” (p.161). This is why I think Java is especially gross. I am still using Java (for some reason) for my paradigms assignments even though Kotlin is an available option. I just thought it would be a good idea because there’s more documentation online about it, but the more I learn about Java, and the more I learn about Kotlin (for ex. while creating my presentation), the more I want to switch over to Kotlin. Java is really gross if we put it into Paul Graham’s terms.
“The Python Paradox” was written at the time when Python was much less mainstream, and it’s general idea is that Python attracted smarter programmers who did it for the love of the game (i.e. a hacker) and had personal interest. At the time, Java was taking over industry, so those who were solely focused on getting a job would learn Java, but those who were really passionate and curious about programing would learn something less mainstream, like Python. This idea is slightly hard to grasp for me just because Python is so mainstream now, but I do get the idea and agree that languages that are less mainstream attract real hackers who just want to learn and master a challenge of a language.
Ultimately, I think the programming language one picks says a lot about them, and writing code in different languages brings up different thought processes. Paul Graham’s ideas in the essays for the week echo that idea and bring in business insight as well when discussing his startup.