This week we review a podcast about he experience that Dick Gabriel has on LISP. Languages like Lisp which were developed for AI had in-built reflective mechanisms, although not formally described, like the quote mechanism via which code could be visualized as data.
Brian Catwell Smith’s work in the 80’s gave it a formal definition and the architectural shape to carry this very powerful construct forward.
The reality is that LISP is a language that have a really interesting list of characteristics as its metacircular interpreter (the possibility of a language to evaluate itself with the same language), the lists that are the principal tools to evaluate in LISP, the apparently infinitely recursive way of functioning and the possibility of using macros to extend the language, among others, that makes of LISP unique in many environments where other common languages like Java or C are not the option.
Lisp, is a functional language, it takes arguments and returns a value, we can nest functions, and the primary data structure is the list, and is the one that encodes the programs. Many things that Dick said about Lisp were totally new and different to me, he took us to the very past times where the Universal turing machine was created, when people needed some kind of machine that could compute anything, then it appeared something that could interpret lists, so one day Steve Russell, thought that if he could take that piece of code and hand compiled it, then that could be the interpreter of lisp. That universal machine was called eval, and with that machine, you could construct any list you wanted and send it to eval so it could evaluate it. Thats how the Lisp interpreter was born.
Now, some positive things are that like Dick Gabriel said, LISP has served of inspiration for another languages like Ruby in the part of meta-language and has contributed to another languages like Java to implement characteristics like the garbage collector that are very useful in the actuality, which can be used to say that LISP has left its mark in the industry.
So in my opinion, many people doesn't know about Lisp and it is a language that has been around for so many years that more people should get the time to know the language and start implementing their programs in this language because it has advantages in many ways and it is easy to use compared to other programming languages in many ways, of course it has disadvantages.
If you are interested in listening to this podcast here is the link: Dick Gabriel on Lisp