Skip to main content

Dick Gabriel on Lisp

So this post is going to be about the high and downs of LISP. You can check out the amazing talk that Dick Gabriel gave on LISP history, it's capabilities and what he calls "The winter of LISP". Go ahead and check it out here.

I thinks it's a little bit sad to think about how great LISP is and all the capabilities that it has, and just see it as "God". We can not bring God down to earth so easily. Some of us, may go ahead and try and check it out, and then just think... wow... how the hell didn't I thought about this that way before?

It really hasn't been that long since I started learning what LISP is about. Today is about the third week I believe (maybe fourth, I don't know) since I started. And I already feel that this language should be the language of the future. After listening to this guru of LISP research, one of the biggest name in the community, it just made me feel a little dull. Knowing that everything is so cool on LISP, how come it failed? What is that made LISP fail so badly and now just appear sproadically on some projects?

I think that one of the things that made it so hard is the syntax, somehow, it's really easy to think in LISP, to say something like: (+ 1 2 3) and think about it as the sum of the numbers 1, 2 and 3. You can read it easily. In other languages, in the OOP spectrum of programming you would go ahead an implement a noun like a Adder and asign it an action that would be add and then do something like: Adder.add(1 2 3) in order to get the result you want.

If you understand this, you might get actual first big difference between functional programming and object-oriented programming. The difference relies on the verbs, and the nouns. I really encourage you to read this amazing writing that will help you understand the differences in such a fun and easy to understand way.  So if you hace seen the differences and understand them, really as Halloway would say, the revenge of the verbs is a cool name for functional programming.

So, damn... really I'm amazed that something so big as LISP had to fell so hard from so high.

Today I think must of us, enthusiasts, scientists, students or hobbists would really like to see the magic of LISP go back to the top. I think the effort in doing this is actually languages like Clojure. Clojure is the language that I'm actually learning. The cool thing about Clojure (as far as I know) is that it implements a LISP for the Java Virtual Machine (JVM). That meaning that you have all LISP capabilities plus the Java capabilities. This meaning that you can really run Clojure code on virtually any technology that has the the JVM, which is virtually every intelligent object on planet earth (ja-ja).

Maybe another way to see it is that LISP is like what we should aim for here in our planetary life. In our Earth-like understanding of things. Our efforts to bring it down to Earth today is the implementations of macro extensions in languages like Ruby, garbage collection like-in-LISP type of implementations and a lot of others. To run LISP on the things we already kind of know, Clojure.


So yeah, listening to this podcast by the software engineering radio was really interesting, to learn about what macros are, about LISP history, about the winter of LISP, and really about a different way to view things.


- Diego.



Comments

Popular posts from this blog

Revenge of the nerds, by Paul Graham.

So, once again we go to Paul Graham and his absolute amazing opinions on lisp. He understands the difficulty in changing the industry, but faces this with a good sense of humor and courage. You can check out his blog entry here . Taking it to the next level So the story goes like this. Michael Phelps went out there to change the world of an olympic sport. And did. Only he and his coaches know what he is doing differently but definitely, he is. Michael Phelps is such a good example because before Phelps, it was very rare to think of a swimmer that could do all the strokes in a competition, from crawl from breast stroke to his olympic record breaking butterfly stroke. In a sense, Phelps is like lisp. Phelps came to the 2004 Athens olympic games as a kid, he was only 19 years old, but everyone knew he had the chance to break the olympic record for 7 gold medals in the same event. He went on it and won 8 of them. So... what is he doing differently than any other swimmer? How long does

The semicolon wars by Bryan Hayes, reviewed.

I'm not an expert progammer, but I've been working with differnet programming languages for about 3 years now. I'm still a newcomer to this whole new world of opportunities with thechnology and programming... I don't think that the fact that I'm slim matters (a-ha) , since I think I've learned a lot in this past years. The point of view presented by Bryan Hayes is really interesting, and appealing. Starting out the course with a "let's go LISP!" seems like a good reading. But I've come across another good reading: "How to Choose a Programming Language: don't" and you can read it here . As I have said before, I'm not yet an expert in the languages in which I feel the most proeficcient, but as one of my professors once told us: A specific requierment requieres an specific technology, and not the other way around. Since thinking about Technology setting us new requierements doesn't always make sense, since it may not be

Rich Hickey on Clojure

So Clojure is a new programming language developed by a person named Rich Hickey. You can hear about the features of this programming language  here . The developer of Clojure then states what we feared the most, we were right. Lisp language wasn't firstly thought to be used by everyone. In one of my previous posts you can hear another podcast by Dick Gabriel on why did Lisp languages fail so bad. You can go ahead and read my review on that podcast too, to which you can find a link in the post too. Basically it explains that lisp failed because of many many things, but mainly because of what he calls " the winter of lisp" and how did artificial intelligence made lisp languages fail so bad. Now there is a new hope, another lisp like language has been developed, and it still in it's early days, but it already addresses many of the problems that lisp had, and added some cool new features. Some of the solutions that Clojure provides are: Interoperability with th