3 ms·
> BTW, languages like Lisp actually evolved over time too. S expressions were not intended to be definitive, and you were not supposed to interpret code in code
by lispm 6y ago
> BTW, languages like Lisp actually evolved over time too. S expressions were not intended to be definitive, and you were not supposed to interpret code in code itself. McCarthy was just interested in the mathematical proof of creating a Lisp machine different from a Turing one. The practical side of that was of no interest for him and other people added this fucntionality.
Actually McCarthy was working on a new research domain called 'Artificial Intelligence'. For that he and his team needed a programming language. They did early experiments with list processing added to Fortran. Eventually they developed their own programming language. It was designed and implemented over short time frame of a few years for an IBM computer they had.
McCarthy and his team were very much interested in the practical side how to implement Lisp and they learned a lot while doing so. During the first design and implementation phase 'it became clear that this combination of ideas made an elegant mathematical system as well as a practical programming language' (McCarthy, History of Lisp, 1979).
The new programming language was thought to be used to implement software like the proposed 'Advice Talker' (McCarthy, 1959).
http://www-formal.stanford.edu/jmc/mcc59.pdf http://www-formal.stanford.edu/jmc/mcc59.pdf
> For production you need standards that are simplified
Quasi standards for Lisp were early the Lisp 1.5 language (the language description was published as a book). Then actual work started on a new language standard, supposed to be Lisp 2. That work failed eventually. In the 80s/90s Common Lisp was defined as a standard. Further standards of Lisp languages were IEEE Scheme and ISLisp (an ISO standard).
> For production you need standards that are simplified
See the extensive standards of Ada, C++ and Java EE, ...
C++ is a very complex language standard, even with meta-programming features: https://en.wikipedia.org/wiki/Template_metaprogramming https://en.wikipedia.org/wiki/Template_metaprogramming