One of my courses this semester is Programming Languages, covering their fundamental histories and differences. Something I direly need to open my eyes and jolt me out of Java fanaticism. I particularly enjoyed playing around with Scheme, a dialect of Lisp. Rather than selfishly leaving the precious resources somewhere in a dark corner, I wrote this article to help get you started with Lisp as well.

Ridiculously Brief Introduction to Lisp

If you’re not familiar with Lisp, it’s a functional programming language whose name stands for LISt Processing. It was created by John McCarthy in 1958, mainly to serve as a programming language for artificial intelligence. It was and is still used in various AI research. What’s perhaps the most prototypical example Lisp’s power is that the programs themselves can write their own, new code — which has obvious benefits for AI. The language is often symbolized with the greek lowercase Lambda letter, seen above, due to the fact that it’s based on Lambda Calculus.

MIT Lectures on Programming and Lisp

Structure and Interpretation of Computer Programs has been MIT’s introductory pre-professional computer science subject since 1981. It emphasizes the role of computer languages as vehicles for expressing knowledge and it presents basic principles of abstraction and modularity, together with essential techniques for designing and implementing computer languages.

It’s an entire MIT course for free online, complete with an online version of the textbook as well as funky downloadable lectures. They give an introduction to Lisp in the first lecture and use Scheme throughout the course. Both the book and videos are Creative Commons licensed, and the videos are so retro that the rims of my glasses grew 2cm thicker (hot stuff regardless, mind you, this is MIT!). Live free, study hard, rock on ’80s lectures!

DrScheme Programming Environment

If you want to try your hand at Scheme, check out DrScheme — a graphical programming environment available for OS X, Unix and Windows. The screenshot below shows the main terminal.

It might not look like much if you’re used to something like Eclipse. I’d say it ranks 0.4 on the retro-glasses rim-thickness scale, but it’s really easy to install and get started, and it has some surprisingly fun features such as drawing arrows on the code for debugging. They also have good introductory articles to DrScheme.

Quick Introductory Articles and References

In case you don’t exactly have the time to take an entire course, like you probably don’t, then no worries. Here are a few other introductions and examples that come in handy as reference material and quick reads.

An Introduction to Scheme by Shriram Krishnamurthi. Contained in one webpage with Scheme code examples and minimal text. Good for quick code reference.