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:
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.
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 the Java Virtual Machine (JVM), and a hosted language (CLR, JVM).
- Immutable variables and objects, enhanced.
- 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
Post a Comment