Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

closed as off topic by Caleb, Mark Trapp Nov 7 '11 at 0:13

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

4  
+1 but be careful, they're not all nice here, see what happened to this: programmers.stackexchange.com/users/39479 –  Cedric Martin Nov 6 '11 at 16:46
1  
+1 for linking to Paul Graham's site –  vemv Nov 6 '11 at 17:38
1  
possible duplicate of Should I start out with Lisp or go straight to Clojure? –  Caleb Nov 6 '11 at 23:12
1  
Hi Conrad, "what language should I learn next?" is not on-topic here. –  user8 Nov 7 '11 at 0:13
2  
@MarkTrapp I happen to think this is a good question. The lisp landscape can be confusing to navigate at first, and the OP has some specific criteria to help people judge a proper answer. I think this question isn't nearly as vague as "What language should I learn next?". –  benekastah Dec 7 '11 at 16:01

3 Answers 3

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 :)

share|improve this answer
    
The Clojure translation of SICP is really exciting to me. Last I checked on it it was still a work in progress, but it must be further along by now. Can anyone comment on how this translation still preserves the nirvana you get from reading SICP? –  Conrad.Dean Nov 6 '11 at 18:19
    
@Conrad.Dean: Well, it does still have a fairly prominent warning: "You should not be here yet. Actually, you’re more than welcome to look around. I’ll avoid putting up any gifs of traffic cones and stop signs, but this site is very much under construction, and is nowhere near the point of being useful yet." –  Jerry Coffin Nov 7 '11 at 1:35
2  
The closure to SICP translation is DEAD since 2009, that's sad because the solutions exist in clojure ... –  AndreasScheinert Oct 8 '12 at 9:27
    
if you really want to change your life, learn forth, scheme, prolog, and C, in that order. Python is also worth a sniff or two. Then, if your head didn't explode yet, go and design your own programming languages, or help perfect other new languages. –  Sam Watkins Feb 8 '13 at 3:33

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.

share|improve this answer
    
+1 Call to action. I like it. –  Conrad.Dean Nov 6 '11 at 23:00

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.

share|improve this answer
    
Can you comment on if the main points of SICP translate over in the SICP in Clojure project, or is anything lost between scheme to clojure? –  Conrad.Dean Nov 6 '11 at 22:58
1  
To be honest Its been too long since I have gone threw SICP and have not spent much time with Clojure. The important thing about SICP is not scheme it is understanding the model of computation that they are working up. –  Zachary K Nov 7 '11 at 9:52

Not the answer you're looking for? Browse other questions tagged or ask your own question.