The Roots of Lisp

In this entry I will talk about an article by Paul Graham titled The Roots of Lisp. It talks about another article by John McCarthy published in 1960 in which he explained how a whole programming language can be built using simple operators and a notation of functions. This share is well known as Lisp (A curious fact that I didn´t know is that Lisp’s name comes from “List-Processing”), which basis is just using a simple data structure (lists) for coding and data.
I found interesting where the author mentions that there are really two clean consistent models of programming so far: C and Lisp model. The majority had followed the C model, but, bit by bit, they are getting closer to the Lisp model.
In order to present a cleaner and better understandable article, the author converted McCarthy’s mathematical explanation steps into running common Lisp code.
What really caught my attention and surprised myself is the evalfunction. This function may work as an interpreter for Lisp, it takes as an argument any Lisp expression and returns a value. Eval implements Lisp and gives us the possibility to define any function we want, just by using the seven primitive Lisp’s operators (quote, atom, eq, car, cdr, cons and cond). Understanding eval may not be simple, but by getting it (as every programming language is getting closer to Lisp model), we would understand the main future computation model. 
Once again, we can see that, talking about computation and programming languages, everything we should learn and get in to, is Lisp. Lisp is the most powerful tool out there. I obtained that affirmation from all the past articles, but in different words. The truth is that I still don’t understand why nobody is caring about Lisp, the only thing I know is that I’m convinced I will get into it.

Comments

Popular posts from this blog

Beating the Averages

Rich Hickey on Clojure

Language as the Ultimate Weapon