Reader Comments
Post a new comment on this article
Post Your Discussion Comment
Please follow our guidelines for comments and review our competing interests policy. Comments that do not conform to our guidelines will be promptly removed and the user account disabled. The following must be avoided:
- Remarks that could be interpreted as allegations of misconduct
- Unsupported assertions or statements
- Inflammatory or insulting language
Thank You!
Thank you for taking the time to flag this posting; we review flagged postings on a regular basis.
closeDon'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" (http://mitpress.mit.edu/s...).
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.