Thursday, January 26, 2012

Academic Programming Languages in Mainstream Use

It is said that once a programming language is born, it never really dies. That may be so, but popularity can still be a fickle thing. I think it is safe to say that most academic programming languages never make it out of the lab in a serious way. However, there are a few prominent exceptions to this observation, some of which were and are wildly successful:

  • C and C++ were both designed and implemented in Bell Labs, a true blue-sky research lab, which is as close to academia as you can get without being in academia. They caught on pretty quickly. For C, the killer app was certainly Unix. Wherever Unix was adopted, there was C, its native systems programming language. C has the advantage of being one of the earlier movers (though not one of the earliest movers by a long shot) and C++ had source compatibility with C.
  • BASIC was developed at Dartmouth.
  • LISP was developed by John McCarthy at MIT. For a while, there was quite a bit of commercial interest and investment in LISP and even LISP machines. That has mostly petered out, but LISP lives on in EMACS and the Guile scripting language in GTK+ apps.
  • Pascal has considerable academic roots. Wirth developed it at ETH Zurich (Swiss Federal Institute of Technology).
  • Lua is a very streamlined dynamically-typed scripting language. It used in gaming and some quantitative finance applications. The compiler and virtual machine are very small and fast (150kb). Recent versions have support for first-class functions, tail call optimization, an incremental garbage collector, coroutines, and a register-based virtual machine. Lua was designed from the very beginning to be a language you can embed in a larger application.
  • Scala was adopted by Twitter, Foursquare, and a few other notable startups. It was developed at ETH Lausanne.

ML (from University of Edinburgh) and Haskell (University of Glasgow and a few others) have certainly come a long way since their academic beginnings, but they have only made their way into a few niches.

An article on the economics of programming language research

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.