A friend and I agreed to pitch each other a programming language. He’ll give a 10 min intro to Scala where as I will give a 10 min intro to Lisp. I’m assuming that it doesn’t really matter whether I’m picking Common Lisp, Scheme, Emacs Lisp, or any other similar language.
So what are the factors that attracted me to it? Maybe I should start with the books I read and liked, figure out why I liked them, and the focus on those elements? I mean, how much can I say in 10 minutes anyway... Brainstorming... I just realized that I already have a list of great books! → ProgrammingBooks.
Maybe A Retrospective on Paradigms of AI Programming by Norvig (2002) would be a good place to get started. I also feel that the effect SICP had on me warrants a quick summary of the book, followed by the language features that allow us to do all that (written different object systems, lazy evaluation, an interpreter of the own language, a register machine, and implementation of the interpreter running on the register machine – mind blowing stuff, if I remember correctly).
A Retrospective on Paradigms of AI Programming
Hm... I must think about this.
#Emacs #Lisp
(Please contact me if you want to remove your comment.)
⁂
If he’s going to pitching a Scala, a JVM language, I’d recommend showing him Clojure, which also runs on the JVM. Clojure is shaping up to be a nice clean LISP with an emphasis on lazy sequences and clever handling of concurrency. It also riffs on LISP’s core idea: (eq? ’data ’code), by incorporating map, vector and set literals into the language not just for data, but as part of the program syntax. For exmaple, the argument list of a function definition in closure is not a list, but a vector. Finally, Clojure, like Scala, interfaces well with the underlying Java libraries.
– Ben 2009-04-10 06:56 UTC
---
Good point, thanks. Looking at *Clojure for Lisp Programmers* 1 & 2 found on Closure Blip TV.
– Alex Schroeder 2009-04-10 08:38 UTC