Skip to main content

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:


  1. Interoperability with the Java Virtual Machine (JVM), and a hosted language (CLR, JVM).
  2. Immutable variables and objects, enhanced.
  3. Orthogonality made simpler.

Let me explain briefly:

Clojure finds balanc
One of the main problems of lisp like languages, and the reason of this being the fact that it wasn't meant to be mainstream, is that they are, quoting Rich Hickey, like amazing islands, with beautiful trees, but not very well connected to the rest of the world. This represents a problem for many reasons, because in an organization you may want to use predefined libraries that the language comes in with, like the vast amount of libraries that Java provides. By loosing this means that you have to do everything from scratch, you are left out in the cold... The silver lining is that it is slightly easier to develop solutions. Another main reason why you would like your "island" to be very well connected is that we like communities as humans. We don't like something that we are not familiar with, and we don't like being alone. You can see this like this, and I'm not saying this is scientific knowledge but more like day-to-day knowledge: The A students work for the B students. The B students work for the C students. The C students own the companies... And the D students clean the building. Let say that lisp is like an A student, the language we all would like to have at home, and not that really common type of language, like Java or C#, which would be like the C students. The thing that makes the C students so accessible is the fact that they are widely known, they are the popular ones, getting all the credit for everything, while in fact they might have A students, like lisp, who are the real geniuses in the equation, making new discoveries, finding solutions, breaking paradigms. So when I say that Clojure find balance I mean it in the sense that it has the capabilities of the C student, while being able to work with the capabilities of the A student.


¿Sounds powerful, right?



- Diego.


Comments

Popular posts from this blog

Beating the Averages

This is a review of the reading Beating the Averages by Paul Graham,  which you can read here .   Our resistance as humans to learn new things is expressed in a function named the learning curve. The learning curve represents in a mathematical form of how we learn through time. It accomplishes this by taking into the equation experience with a particular subject or topic and placing it vs learning. In particular, I like this funciton because it represents one of the author's main points: why we tend to prefer what we already know. What this function represents is that we tend to have some resistance to new knowledge. We may apply this resistance through contradicting knowledge that we might already have, namely, experience in a certain field, maybe because it a new paradigm to see things, very different from what we are used to. As we grow older, it becomes harder and harder to change the way we see things. The Paul Graham, the author, expresses this himself, he say...

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...

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 ...