How to Study Programming Languages

You don’t want to study them the wrong way, do you?

Two Dimensions of Language Study

An effective study of programming languages works in both of the following directions:

  1. Look at a bunch of existing languages, and see how each expresses and implements various concepts.
  2. Look at a bunch of programming language concepts, and see how each is expressed in a variety of languages.
JavaScriptHaskellPythonLuaRubyC#Swift.  .  .
Control Flow


When studying actual languages, you should learn:

Some significant languages

Here are a few languages that for some reason or another rate as significant:


Here are some languages and their motivations for being created. In some cases, the language found a niche quite outside the purpose for which it was designed. But the point is that some problem was seen as significant enough to warrant a new language.

Exercise: Java is an example of a language whose primary use turned out to be completely different from its original design purpose. What are Java’s niches today?

Where to learn more

Language lists, comparisons, and taxonomies:

As you learn more languages, you will start to enjoy Rosetta Code, and hopefully contribute!


Topics that you come across in the study of languages: