Notes on Programming Languages

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.

— Donald Knuth

Around the beginning of April, 2001, I decided that I'd gone too long without learning a new programming language. I'd been using very little other than Perl and C for quite some time, and while I'm fairly fond of both of those languages, there were ways of thinking about writing programs that I'd never been exposed to and that I was curious about. I put some time into looking around and then learned Python, but then stopped exploring new ways of programming again around 2005. At the start of 2010, I read Coders at Work, which inspired me to put effort into learning new programming techniques again.

These are my notes on the topic.

For some context for what follows, you may want to read my programming background. One's opinion on languages is strongly influenced by one's background, in my opinion.

So far, I've started on the following languages:

Here's the rest of my list, in rough priority order, with links to good starting points if I have them available:

There are a few other languages that may seem like obvious choices but which I'm not interested in for various reasons:

Finally, various people have written me and recommended other languages to look at. These are the recommendations that also sounded interesting to me, but which didn't make it up to my top list.

Comments on these lists are welcome, and please do feel free to point out languages you think I might have overlooked. Please don't send me anything even remotely like language advocacy, though; I'm not interested. Mark-Jason Dominus summed up my opinion pretty well in his article Why I Hate Advocacy.

Last modified and spun 2017-02-12