This is a preposterous table I just made up after reading Wikipedia's History of Programming Languages. I was trying to figure out which programming language or environment this article might be refering to. The article talks about some of the Canadian federal government's computer systems "falling apart" because they are "60 years" old. Everyone cried "COBOL" but I figured there might be other culprits.

Update: see also the CBC (english) version for the article, and a Hackernews thread which seems to confirm the COBOL hypothesis.

Year Language Founder Claim to fame
1954 Fortran IBM first high-level language with functional implementation
1958 LISP MIT first homoiconic language
1959 COBOL US DoD still in use
1964 BASIC Darmouth College saw explosive growth with PCs in 1970s
1972 C AT&T early systems language, foundation of UNIX
1972 Prolog Alain Colmerauer first (and only?) "logic programming" language
1978 SQL Oracle? first commercial language to use the relational model, still in use in most database systems
1980 C++ AT&T Bell Labs major systems programming language
1986 Objective C Apple Inc. main Apple language until the introduction of Swift
1986 Erlang Ericsson originally written in Prolog, highly-available, hot-swapping, distributed language
1987 Perl Larry Wall every sysadmin can write-only it
1990 Haskell University of Glasgow first type classes implementation
1991 Python Guido van Rossum ease of use and readability, built Dropbox
1995 Ruby Yukihiro Matsumoto built GitHub
1995 Javascript Netscape you're running it right now, most popular language on stackoverflow
1995 Java Sun "write once, run everywhere", consistently the most popular language on the TIOBE index
1995 PHP Rasmus Lerdorf personal project, built Facebook, which eventually replaced it with Hack (2014)
2001 C# Microsoft multi-paradigm
2009 Go Google readable, concurrent, high-performance
2010 Rust Mozilla memory-safe, concurrent, high-performance

Some interesting observations:

But for me, the most significant thing I find in this list is that every corporate ruler eventually creates its own programming language. IBM made Fortran. The US government made COBOL. AT&T made C. Ericsson made Erlang. Google made Golang. Facebook made Hack. And it's interesting to note that some languages came up shortly before the business crashed (e.g. Ericsson, Netscape, Sun) or a dark period (Apple post-Jobs, Google post don't-be-evil, Microsoft anti-trust era). Maybe this means Mozilla is about to crash?

Notable omissions and regrets

I originally jotted this down as a quick list of 18 languages I found while reviewing the Wikipedia page. Then I couldn't help myself and added Prolog, rounding up to 20 languages.

Then I realized I had forgotten Java, one of the most popular programming languages and the foundation of many corporations. So I was stuck and had to remove some things. Besides, there's only so much stuff that can fit in here. So here's the list of langugages that did not make it.

Year Language Founder Claim to fame Excluded
1940? Assembly Alan Turing first concept of a stored program not high level
1970 Pascal Niklaus Wirth first major decent language with complex datatypes mostly dead
1971 Shell Ken Thompson / AT&T Bell Labs interactive programming not a real programming language
1983 Ada US DoD design-by-contract, used in safety systems own ignorance
1987 Hypertalk Dan Winkler / Bill Atkinson english-like mostly disappeared
1996 OCaml INRIA the other significant functional language aside Haskell too similar to Haskell in spirit
2002 Scratch MIT Media Lab block-based visual language, used for teaching kids not very well known
2014 Swift Apple Inc. safer version of Objective C too Apple-specific
2014 Hack Facebook gradual typing for PHP too Facebook-specific

I also excluded things like Ada, Algol, APL, and other relics that are historically significant but largely irrelevant now as they are not in use anymore. I was surprised to see that Pascal was the most popular programming language for a few years (1980-1984) until it was surpassed by C, according to this vizualisation. (That video also gives Ada the top row for 1985-1986, which I found surprising...)

Scala, Groovy, Typescript, and other minorities are excluded because I am not familiar with them at all.

See also my short computing history.

Update: I added Ada to the table above after being told it's still widely used in aerospace, avionics, traffic control and all sorts of safety-critical systems. It's also standardized and still developed, with the latest stable release from 2012. Ada is also one of the languages still supported by GCC, along with C, C++, Objective-C, Objective-C++, Fortran, and Golang, at the time of writing.

Second update: I kind of cheated here. As the "preposterous" adjective intended to indicate, this list is totally biased and reflects how I see those languages and programming history, more than factual, hard data. For example, Python was founded by Guido while working at the CWI in the Netherlands. Is CWI the founder, or is Guido? In my mind Guido is the founding figure. Another, more important example: Oracle didn't create SQL. Obviously, like a lot of computer things at the time, IBM initially developed SQL in 1974. But the "the first commercially available implementation of SQL" is Oracle v2 in 1979, back when Oracle was called "Relational Software, Inc". And yes, IBM built DB2, which I didn't know about, but that actually came later, in 1983.

But sure, we could assign SQL foundation status to IBM here, but do you really think of IBM when you think of SQL? Or do you think of Oracle, MySQL (now also Oracle!) or PostgreSQL? I sure know where I stand...

Third update: Ars Technica did a piece on how Oracle is full of it for suing Google in the Java case, because it copied IBM over SQL.

This was fun

Excluding Scratch made me remember LOGO, which as a significant precurser to Scratch (and very popular) I think deserves to be on the second list. Except you could argue LOGO is a LISP dialect, perhaps; speaking of which, I am happy Haskell made the cut, but describing it as the most significant FP language is amusing, what about LISP? The thing I take issue with though is describing shell as "not a real programming language". Sure it's ugly and sharp-edged, but also massively pervasive. Nearly every source code repo for UNIX/Linux/FLOSS programs has at least one shell script in it, no matter what the majority language in use for that program.

By virtue of including LISP you've kinda included OCaml by the way, kinda, by way of ML; also you've kinda included Scheme and I guess LOGO as I say, if you really squint.

Also amusing that you remembered Java so late :)

A fun post. Thanks!

Comment by Jonathan Dowland
logo and exclusions

Excluding Scratch made me remember LOGO, which as a significant precurser to Scratch (and very popular) I think deserves to be on the second list.

I actually thought of that! I think LOGO is the first programming language I ever used, without even knowing I was programming... But that's exactly why I mentioned Scratch and not LOGO: for some reason, I feel kids now are closer to programming with Scratch than LOGO, but maybe that's just me being old.

Except you could argue LOGO is a LISP dialect, perhaps; speaking of which, I am happy Haskell made the cut, but describing it as the most significant FP language is amusing, what about LISP?

Historically, LISP is the most significant FP language, of course. But what's Lisp now? Isn't Haskell itself Lisp as well, in a way? Otherwise who programs in Lisp for real nowadays, except Emacs hackers? See also the curse of lisp.

The thing I take issue with though is describing shell as "not a real programming language". Sure it's ugly and sharp-edged, but also massively pervasive. Nearly every source code repo for UNIX/Linux/FLOSS programs has at least one shell script in it, no matter what the majority language in use for that program.

It's "not a real programming language" as in "you should not write programs in it". I could also have included Perl or PHP (5?) in that category if I wanted to be even meaner. Be grateful I don't alter the list any further. ;)

By virtue of including LISP you've kinda included OCaml by the way, kinda, by way of ML; also you've kinda included Scheme and I guess LOGO as I say, if you really squint.

Yeah, I kind of did my best to draw broad strokes. It's why Prolog is in there at all as well, even though it's probably mostly irrelevant for most people.

Also amusing that you remembered Java so late :)

Some things you just want to forget...

A fun post. Thanks!

Thanks for the feedback! :)

Comment by anarcat
APL, Smalltalk, ...

I can't believe that you missed APL. It's important because it invented a new programming paradigm, array programming, which is still in widespread use. "Numpy" is an implementation of APL-style array programming for Python, and is widely used in data science. TensorFlow is an implementation of APL-style array programming that is the basis for most machine learning projects.

APL is still in use. Dyalog.com just released version 17.1 of their APL environment in November 2019. Dyalog APL continues to be in active development. There are plenty of APL projects on github. Co-dfns is a notable github APL project: it is an optimizing APL compiler that emits GPU code, written in 750 lines of of APL (https://github.com/Co-dfns/Co-dfns)

I can't believe you missed Smalltalk. This is the language that introduced the concept of "object oriented programming", and it also introduced the concept of the GUI, and the MVC (model view controller) framework for writing GUI code. Smalltalk is important because it is extremely influential. We still use object oriented programming, and we still use GUIs. Smalltalk continues to be used. There are multiple implementations under active development. Smalltalk continues to be at the leading edge of GUI development. A good example is the Glamorous Toolkit, a notable Smalltalk project on Github, which shows what GUIs will look like to the rest of us in another 20 years. (https://github.com/feenkcom/gtoolkit)

I don't agree that Cobol is more important than APL and Smalltalk. Cobol was not influential: it was an evolutionary dead end. Its ideas were not adopted by later programming languages.

Comment by Doug Moen
I can't believe I missed...

I can't believe that you missed APL. [...]

I can't believe you missed Smalltalk. [...]

I don't agree that Cobol is more important than APL and Smalltalk. [...]

So before someone else makes yet another "I can't believe that you missed Foo", let me say that again: I didn't miss Foo at all. This is a personal list. It's deliberately biased and will not reflect your personal view of computing history. It's my list.

You can safely assume that I am aware of the multitude of program languages there are out there.

I particularly don't miss APL. This is the Game of Life in APL, according to Wikipedia:

life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}

I don't think that's a reasonable syntax for a high-level, human programming language. Now maybe Wikipedia screwed up and there's this delicisiously beautiful modern implementation of APL still in use. But Numpy, Python, and Tensorflow, they are not APL. They are derived from APL.

And yes, COBOL is an evolutionary dead-end. But we just so happen to still be in that dead-end. Fortran is also still in use, and is causing similar programmers for new developers that have grown up with languages that are easier to use. That's the reason they are here: they're still there. Remember that I wrote this because I was researching what environment the governemnt of Canada was still using after 60 years. Do you think that's APL? Or COBOL? Or Fortran?

In other words, this is not "the genealogy of programming languages". I wanted to take a new approach and look at living languages and how they reflect the culture of the corporations that rule the world right now.

If you're looking for your favorite language here and missing it, you're missing the point.

(Although I am kind of sorry about Smalltalk, I must admit. It's welcome to have tea at my house at any time, of course.)

Comment by anarcat
Was SQL founded by Oracle, or IBM?

So you think that SQL was founded by Oracle?

Certainly, I must congratulate Oracle on their successful marketing. ;-)

"SQL was initially developed at IBM by Donald D. Chamberlin and Raymond F. Boyce after learning about the relational model from Ted Codd in the early 1970s." https://en.wikipedia.org/wiki/SQL#History

DB2 (on mainframes) is the original. Oracle is a clone.

... a very successful "clone." Oracle pretty much dominates the marketplace.

Comment by Jeff Grigg
Objective-C and Apple
You've wrongly credited Objective-C to "Apple post-Jobs". It was popularised by NeXT—headed by Jobs—and only adopted by Apple after they bought NeXT and used their OS as the basis for OS X. However, Wikipedia says it was developed by "Brad Cox and Tom Love […] at their company Productivity Products International".
Comment by ben
Homoiconic?

Had to look it up. If you've read GEB by Douglas Hofstadter, you might remember typogenetics.

As a kid, I had a book (which I just tried to track down, failed) "Babel 1000 computer languages" or something to that effect. It sure opened my eyes early!

Comment by Robin
kotlin
Surprised kotlin was no where to be found
Comment by anon
forth

Thank you for your article!

Another language, that spawned a whole new paradigm, is FORTH. It is, to date, not very well known, but is a cool language nonetheless. The Thinking Forth book on it is pretty cool.

Comment by hhm
Comments on this page are closed.
Created . Edited .