Reader Comments

Post a new comment on this article

Don't forget Lisp in the genealogy of programming languages

Posted by khinsen on 25 Feb 2014 at 08:31 GMT

In your genealogy of programming languages (Fig. 1), there is one egregious omission: Lisp. Lisp belongs to the same generation as Fortran and has had a strong impact on programming language design. Perhaps the most important contribution that Lisp has made on today's popular languages is automatic memory management with garbage collection. You do point out the importance of automatic memory management for an FPL, so you should also acknowledge its origins.

On the subject of Lisp, you do mention one member of that family, Scheme:

"The survey revealed that Scheme is also another reasonably used FPL; however, we do not consider it in our comparison as it is not an imperative language."

While Scheme emphasises a functional approach, it has all the features of an imperative language and is routinely used as such. For an illustration, see chapter 3 of the famous Scheme-based introductory textbook "The Structure and Interpretation of Computer Programs" (

Finally, your genealogy does not do justice to Smalltalk, which is depictured as a dead end in the tree. Smalltalk popularized object-oriented programming (in fact, Alan Kay, the inventor of Smalltalk, was the first to use that term), and object-orientation in languages like Python or Ruby owes more to Smalltalk than to C++. JavaScript should also be listed as a descendent of Smalltalk, much more than of Java, with which it share little else but the name.

No competing interests declared.