26

A lot of people smarter than me keep writing about when you learn Lisp it makes you a better programmer because you "get it".

Maybe all I hear about Lisp(s) changing your life is just a big practical joke on the newbies, but I figure there's no harm in knowing more about the world, even if I find out I've been sent after a snipe or something.

I'd like to follow the SICP book, and or ANSI Common Lisp, but at the same time be studying a dialect and implementation that I could go on to use on personal projects.

SICP is focused on Scheme, so that's one big vote. Paul Graham said that if he were to teach newbies he'd do it in Scheme, but it sounded like Scheme was still inferior to Common Lisp. But then there's Clojure-- which I'm told is limited in ways, but more practical in others (JVM libraries).

It sounds like I could get through Scheme materials easier, achieve "real" enlightenment from CL, or come close enough with Clojure and be able to get more done with it in the long run.

How much of all of that is true? When should I stop thinking about what to learn about and just go and learn about it?

3 Answers3

19

Maybe all I hear about Lisp(s) changing your life is just a big practical joke on the newbies

Absolutely not true, It isn't a joke.
With Lisp you are going to build any thing you want, even your own programming language.

You will be enlighten no matter what you pick whether it is CL, Scheme or Clojure.
I personally recommend that you learn Clojure since it is an active Lisp, a practical dialect that supports concurrent programming in an elegant way and it runs on the JVM (huge selling point).

ClojureScript brings Lisp to client side programming which is really a cool thing.

And by the way, SICP is available in Clojure.

Welcome aboard :)

Chiron
  • 4,553
7

It sounds like I could get through Scheme materials easier, achieve "real" enlightenment from CL, or come close enough with Clojure and be able to get more done with it in the long run.

Don't expect miracles. Working in a language like Scheme will expand your horizons and probably teach you quite a bit about how programs are executed, but it's not an express ticket to the Sphere of Infinite Consciousness.

When should I stop thinking about what to learn about and just go and learn about it?

About 7 seconds after you finish reading this answer.

Caleb
  • 39,298
5

If you want to start with SICP go with scheme, just because that is what the book teaches. Moving from Scheme to Clojure will be pretty easy.

Zachary K
  • 10,413