Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: I'm going to learn Scheme; any suggestions?
4 points by solipsist on March 11, 2011 | hide | past | favorite | 4 comments
I don't know much about it yet, but I ordered a book and am motivated to get through it. Although I have to learn it for a class, my main priority is to learn the basic concepts of programmings, and Scheme seems to perfect for that.

So does anyone have any comments about Scheme as a language and about how easy it is to learn it?




The obvious choice here is to start with The Little Schemer. After that you can go on to SICP. Another alternative which is not nearly as challenging as SICP is HtDPv2 (How to Design Programs v2). HtDPv2 was written to be used with Racket.

There's also the Reasoned Schemer and Seasoned Schemer, but I haven't any of read either of those so I can't tell you with any certainty if they live up to the experience provided by the Little Schemer.

In general those are the 5 best books covering Scheme as far as I know of especially for you as a learner. I'm sure there are other books for more advanced Scheme, but I don't know them.

The Little Schemer is great fun and is programming equivalent of piano finger exercises.


Scheme is a great language to get going w/ functional programing and lisp type languages. I would suggest using Racket. It is 'batteries included', design for teaching so there is tons of documentation and has support for R5 and R6 versions of scheme.

Most programmers I know started w/ an imperative language. I didn't and feel grateful for it. Learning programming in a different way tends to mean even if you get a job doing imperative program, you usually think different from others and that can lead to excellent conversations, designs etc.


I learned it from a class. We blazed through the SICP in 15 weeks. I'd advise the same. Use MIT's OpenCourseWare as a guide: http://ocw.mit.edu/courses/electrical-engineering-and-comput...


Scheme is not that hard - I had some trouble internalizing call/cc, but the rest is rather straightforward or fiddly but not really difficult (macros).

That said, I sometimes get the idea that the majority of Scheme code is in Scheme implementations - which put me off the language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: