Ir al contenido principal

Let's talk about Lisp

Choose one (1) option:

  • a) Facebook vs Google
  • b) Super Bowl LIII
  • c) LISP
Well, if you read the title, you probably chose the correct option. Not Java, not Python or even Swift, this time i'll talk about Lisp. But, why did I choose it? Just because I recently listened a podcast on my free time, and as you may guess, it was about Lisp. So get yourself prepared, because i'll compress 60 minutes of talking into a short, but complete, post. Anyway, without further ado, let me turn to the matter in hand.

The story from Lisp goes back to the mid 1950s, when John McCarthy, the creator of Lisp, did not originally intend for Lisp to be an elegant refining of the principles of computation. But, after one or two insights, that’s what Lisp became. Paul Graham wrote that, with Lisp, McCarthy “did for programming something like what Euclid did for geometry.”[1] After some work from McCarthy, some grads from the MIT and Steve Russel, Lisp was born.

The way Lisp was constructed, made itself very popular among other programming languages, making it the preferred one for AI investigations and research. One of the reasons was that you can write Lisp programs that create other Lisp programs. Another nice thing, that really caught me, is that you don’t have to worry about syntax of parsing, you just have to take care about the expressiveness  of what you are writing. 


In 1980, on the Lisp’s 20th anniversary, McCarthy wrote that Lisp had survived as long as it had because it occupied “some kind of approximate local optimum in the space of programming languages.” [2] That diminishes Lisp’s real influence in computing. Lisp hasn’t survived for over 50 years because programmers have conceded that it is the best tool for the job decade after decade; in fact, it has survived even though most programmers do not use it at all. Thanks to its origins and use in artificial intelligence research, Lisp continues to fascinate people. Until we can imagine something that really changes the world, Lisp isn’t going anywhere.



[1] Paul Graham, “The Roots of Lisp”, 1, January 18, 2002 [http://languagelog.ldc.upenn.edu/myl/llog/jmc.pdf]

[2] John McCarthy, “Lisp—Notes on its past and future”, 3, Stanford University, 1980, [http://jmc.stanford.edu/articles/lisp20th/lisp20th.pdf]

Comentarios

Entradas populares de este blog

70/30

Don't worry, today we are not going to talk about finances or economics as the title may suggest. We will treat a more important subject to us computer scientists. But first, let's do a quick test. If you happen to be, or you know some coders, what's the percentage from women and men? Your answer may be different, but the most probable is theres a male majority in the group. Yeah, I know, we even joke about having more than 5 women in our classes, but if you really take some time to deeply analyze and make some research about this topic, you'll find that this actually increasing year-by-year instead of going down. At the beginning of what Computer Science is now, many women took part of this big movement. The trend was that women would take more relevance, and well, that actually happened until the mid-1980s. Stanford University CS BSc by gender 10 years earlier, a study the numbers of men and women who expressed an interest in coding as a career were equal. Ma...

The Semicolon Wars

5 years ago a friend of mine gave me a book as a birthday gift. Yes, as you may guess, it was a programming book, and if I got to be specific, an introduction to C programming language. A 17 year old José Pablo felt like he had some kind of magical book in his hands. My first thought was that this book would contain a step-by-step guide to build my first app. I was wrong. After reading some pages of the magical book all of my fantasy dreams went straight to the trash. But hey, not all of it was bad. I realized that the C language was similar to the way math equations are written. Having said that, let's start talking about The Semicolon Wars. After reading a 5 page magazine article, that felt more like a typical meal-time debate from a group of programmers, I realized that most of the ideas presented have gone through my mind a lot of times. The differences between most of the programming languages are not that much. Most of them share a way of writing operations and instructi...