Posts

Showing posts from September, 2018

Rich Hickey on Clojure

And once again we are here, talking about Lisp. But this entry will be talking about Lisp indirectly. In this post I’m going to talk about the podcast “Rich Hickey on Clojure”. Who is Rich Hickey? The designer o creator of Clojure and what is Clojure? A functional programming language based on Lisp. What really caught my attention here is that Rich Hickey mentioned that the failure of Lisp or the reason why Lisp was not mainstream is because it was not designed to be that. It was designed to be used by “super users, researches and smart people” that want to solve hard problems. Basically, this can be considered as one reason of Clojure’s existence. We can say that Clojure is an old or traditional Lisp, but with some important differences or improvements. Traditional Lisp is practically lists of lists or nested lists, while Clojure does not stay only in that data structure, but also involves vectors and maps. This is important because those data structures work as a regular libra

Revenge of the Nerds

All started with the term “point-headed bosses”. It was the first time I heard or read about it. But the author’s point is truth. Nowadays, there are programmers out there that thinks that the best programming language to solve any kind of problem is Java. I liked how the author used this fact to start one argument: programming languages are not equivalent and there will always be a different and better language to solve a specific problem. But there is an interesting pattern, each new programming language is becoming more like Lisp. Why? It is like we want to reach something that we already had 60 years ago. I found interesting the fact that Lisp, when it was created, was not meant to be as it is nowadays. John McCarthy didn’t intend to develop a programming language. It was a theorical exercise and an effort to define a convenient alternative to the Turing Machine. It was thanks to Steve Russel that Lisp is as we know it nowadays. He programmed the “eval” (A function that comput

Dick Gabriel on Lisp

Dick Gabriel on Lisp. Before listening to this podcast, I had never heard about Dick Gabriel. I have just realized he is a computer scientist graduated from Stanford University, but not a normal one, he uses the Lisp programming language. Actually, he had his own company where they program using Lisp. This is really impressing for me because the only other case of a Lisp based company is the Viaweb case I talked about in my last blog. As I already said, I’m not into Lisp. But I want to support a classmate’s blog that also talks about Lisp and this podcast. In his blog, Guillermo PĂ©rez Trueba talks about the importance and the reason of why Lisp is used in AI programs. Whenever you try to use Lisp, it results confusing for most of the developers, the reason? The sea of parenthesis it uses. Nevertheless, the words of Dick Gabriel start making sense to me. Lisp as a non-syntax syntax programing language and, based on the usage of lists and macros, it gives us a great versatility to d