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

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