Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are some good resources on the history of programming languages?
75 points by groth on July 25, 2015 | hide | past | favorite | 24 comments
I liked Erik Levenez's giant poster: http://www.levenez.com/lang/

I am looking for anything of that sort -- books, posters, newspaper articles, well-written blog posts.


If you really want to get into the details about a specific language, anything from the three "History of Programming Languages"[1] (HOPL) conferences is great. These conferences, convened every ~15 years, have talks by the creators of various seminal programming languages recounting their histories.

You can probably find most of the HOPL papers online as well as recordings of talks from the later conferences. There's a lot of material! Personally, I really liked "A History of Haskell: Being Lazy with Class"[2][3], partly because I like Haskell and partly because Simon Peyton Jones is such an engaging speaker.

[1]: http://research.ihost.com/hopl/HOPL.html

[2]: paper: http://haskell.cs.yale.edu/wp-content/uploads/2011/02/histor...

[3]: recorded talk: https://www.youtube.com/watch?v=3bjXGrycMhQ

The book with papers from the second conference (in the 90s) is quite good:


In 2001 MIT had the Dynamic Languages Wizards Series [1], which consisted of three panels of luminaries in the field (videos and participants names on the linked page). A lot of history was discussed in their 5+ hours.

They are also on YouTube:

Panel on Runtime: Richard Kelsey, David Moon, Tucker Withington, Kim Barrett, Scott McKay [2]

Panel on Compilation: David Detlefs, Will Clinger, Martin Rinard, and Mat Hostetter [3]

Panel on Language Design: Paul Graham, John Maeda, Jonathan Rees, Guy Steele [4]


[1] http://www.ai.mit.edu/projects/dynlangs/wizards-panels.html

[2] https://www.youtube.com/watch?v=4LG-RtcSYUQ

[3] https://www.youtube.com/watch?v=at7viw2KXak

[4] https://www.youtube.com/watch?v=agw-wlHGi0E

There's The Evolution of Lisp [1], which talks about the entwined relationship of many of the different dialects of lisp.

A History of Haskell [2]

The Early History of Smalltalk [3]

[1] http://www.dreamsongs.com/Files/HOPL2-Uncut.pdf

[2] http://research.microsoft.com/en-us/um/people/simonpj/papers...

[3] http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html

Everything from HOPL II is great. I don't know whether all of it ever got published online, but the book version is totally worth it.

It looks like you have to be an ACM member to access these, but all the papers are online for HOPL II: http://dl.acm.org/citation.cfm?id=234286

HOPL III is here: http://dl.acm.org/citation.cfm?id=1238844&coll=DL&dl=GUIDE&C...

HOPL I is here: http://dl.acm.org/citation.cfm?id=800025&coll=DL&dl=GUIDE&CF...

I have the hardcopy versions of I and II that I bought used from Amazon and they're great.

History of Lisp, by J McCarthy:


The Evolution of Lisp (Steele and Gabriel):


The Original 'Lambda Papers' by Guy Steele and Gerald Sussman


Many papers on the evolution, design, and implementation of Scheme:


Here's a nice timeline style review of the history of programming languages that uses videos: http://cdn.knightlab.com/libs/timeline3/latest/embed/index.h...

The Design and Evolution of C++ [1]

[1] http://www.stroustrup.com/dne.html

You've probably already seen this, but the Wikipedia article on the subject isn't a bad introduction: https://en.wikipedia.org/wiki/History_of_programming_languag...

It gives a great overview of the different generations of programming and the significant languages in each.

These might be obvious already (and hence redundant), but many computer history museums have sections covering software and programming language history.




Also try the Internet Archive (archive.org). It has a lot of "Programming History" stuff, but finding it can be painful:


Not (entirely) serious: A Brief, Incomplete, and Mostly Wrong History of Programming Languages by James Iry


There's DMR's article on early C development[0], and the accompanying backups of C compilers from that era[1].

[0]: https://www.bell-labs.com/usr/dmr/www/chist.html [1]: https://www.bell-labs.com/usr/dmr/www/primevalC.html

There are several old primary resources on C's predecessor, B [2]. Structured programming was newish, so it's fun to read these descriptions of newfangled "while" loops.

[2]: https://www.bell-labs.com/usr/dmr/www/bintro.html

The book The Technical and Social History of Software Engineering might be useful to you.


Peter Grogono: "The Evolution of Programming Languages"


Bret Victor "The Future of Programming" is wonderful: https://www.youtube.com/watch?v=8pTEmbeENF4

While not a history book, per se, "Masterminds of Programming: Conversations with the Creators of Major Programming Languages" [1] is a pretty great read. You can get a ton of historical context from reading what the language designers were thinking when they created their languages.

[1] http://www.amazon.com/Masterminds-Programming-Conversations-...

Andreas Stefik gave a talk titled The Programming Wars[1] at my school -- I thought it was a fascinating overview and the video is available at the link. If you already are pretty familiar with the history of programming languages (I'm not), it might be less interesting for you.

[1]: http://www.cs.washington.edu/events/colloquia/search/details...

Masterminds of Programming is a good read. It contains of interviews with lots of creators of programming languages. The interviews cover a broad range from history to design to philosophy.

A big graph of the genealogy of programming languages: http://www.levenez.com/lang/

It you go beyong ~1955 the documents get pretty scarce. Still it's a fascintating topic to research.

Search through comp.compiler archives.

Or the mailing list archives for the many OSS languages. The gcc archives are probably chock full of fascinating stuff. Unfortunately this would only take a researcher back to the 90's or maybe somewhere in the 80's.

This resource isn't given out enough. It is a true gem.

I owe 90% of every programming thought that entered my mind to the people that contributed to this:


You're welcome.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact