Reading 04: Programming Languages

Marcus Schimizzi
Hackers in the Bazaar
3 min readFeb 23, 2019

I’m pretty fascinated with Paul Graham’s take on programming languages in the three essays “Beating the Averages”, “The Hundred-Year Language”, and “Revenge of the Nerds”. It seems when people tend to talk about the relative quality or advantages of programming languages they usually focus on how speedy or efficient a language is. However, Paul Graham seems much more interested in ease of development for the programmer and how high-level the language is.

He has good reason to think why he thinks for sure, given that in his experience his choice of language for Viaweb gave his company a competitive advantage over all of the other companies. It makes sense that he highly values ease of development since this aspect of Lisp allowed Viaweb to beat competitors to market with their own ideas due to its quick development time. It’s quite impressive, frankly.

He makes quite a compelling argument for using Lisp. My experience with it is extremely limited up until now, but I’m a bit curious to learn it now. Surely there has to be something behind how passionate he seems to be about Lisp. I can’t imagine me ever being that emotionally invested in one programming language or another.

However, I haven’t had the same experiences that Paul Graham has had to make me think programming languages are all that important. Since I’ve started programming, I’ve used nearly a dozen or so programming languages for different projects and courses. I’ve recognized their differences certainly, but I haven’t felt that my choice of language was ever all that important. Sure, I prefer to develop in Python if I have my choice since I feel that it’s easier to use. Why directly deal with memory management in C or the verbosity of Java if I don’t have to?

If I was exposed to a situation in which the power of a language was more important like in Paul Graham’s Viaweb anecdote, then I would likely care more about the importance of the choice of programming language in development. However, I just haven’t. In most projects I work on, the scale of the project isn’t large enough to demand a premium be placed on performance or speed of development. When I have worked on large scale projects, it’s been at internships where I have had no discretion to choose which language I get to use anyway.

In my life, the most important aspect of programming languages is that I should learn to be comfortable with a variety of them. If programming languages affect how programmers think, surely I should learn and use multiple diverse languages as to not limit the scope of how I can think through a problem. To me, concepts are more important than the specific choice of language. I’ll probably continue to use a variety of languages because they force me to think through problems in different ways.

Plus, why get particularly attached to any language when the landscape of programming languages is constantly changing? Many of the languages seem extremely similar to one another but have a few things that they do particularly well or at least better than other languages. If this is the case, why not try to be versatile with what languages I can use and simply pick the best language for the specific use case?

I’m just not particularly attached to any language. Maybe if I try out Lisp a little more I’ll become a Lisphead like Paul Graham, but I doubt it. I’ll probably still be more of a programming language nomad using whatever language I feel like for each project.

--

--