2009-04-09 Why Lisp

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.

=> Scala | Common Lisp | Scheme | Emacs Lisp

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.

=> 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

Comments

(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.

=> Closure Blip TV

– Alex Schroeder 2009-04-10 08:38 UTC

=> Alex Schroeder

Proxy Information
Original URL
gemini://alexschroeder.ch/2009-04-09_Why_Lisp
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
165.722296 milliseconds
Gemini-to-HTML Time
0.418558 milliseconds

This content has been proxied by September (ba2dc).