3

I'll be starting a new job soon where Scheme is heavily used. I currently do not know Scheme, but my employer assures me that is not a problem.

Regardless I'd like to hit the ground running and have a working knowledge of the language before my start date. So I'm looking for good resources from which to learn Scheme.

I have had minimal exposure to functional languages. Really only a small chunk of a course devoted to Haskell. But I have a strong background in procedural and OO and procedural languages.

Before it gets requested by a commenter, I am competent with the following languages: C, C++, C#, Java, Perl, Python, and Ruby.

EmFi
  • 23,435
  • 3
  • 57
  • 68
  • I assume you have already downloaded PLT Scheme from http://www.plt-scheme.org? The tutorial stuff that comes with it is OK. See also http://stackoverflow.com/questions/22873/language-books-tutorials-for-popular-languages. –  Mar 16 '10 at 18:02
  • Subscribe to various Scheme email lists; here is a list: http://www.wisdomandwonder.com/scheme – grettke Mar 17 '10 at 03:18
  • Subscribe to: comp.lang.scheme – grettke Mar 17 '10 at 03:19
  • Hangout on #scheme on Freenode – grettke Mar 17 '10 at 03:20
  • Read TSPL: http://www.scheme.com/tspl3/ – grettke Mar 17 '10 at 03:20
  • Read HtDP: http://www.htdp.org/ – grettke Mar 17 '10 at 03:21
  • You'll find the parts of Ruby and Python that aren't the object system fairly similar to Scheme. I'm curious as to how you managed to get a job at a Scheme shop without knowing Scheme when such jobs are highly coveted by those who *do* know Scheme. – Zak Mar 18 '10 at 12:58

4 Answers4

6

One online resource is Dorai Sitaram's "Teach Yourself Scheme in Fixnum Days". Unlike The Structure and Interpretation of Computer Programs, it's pretty focused on teaching the Scheme language instead of using the Scheme language as a vehicle for teaching you a lot of other things.

Pillsy
  • 9,781
  • 1
  • 43
  • 70
3

Watch (or read) the SICP lectures:

http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

http://mitpress.mit.edu/sicp/

stmax
  • 6,506
  • 4
  • 28
  • 45
  • 2
    SICP is great for learning *programming*, not necessarily learning *Scheme*. They teach pretty much every programming concept ever invented, but really in a way independent of any concrete programming language. Scheme is more used as a notational convention than a programming language. They really only use a very small subset of a very old version of Scheme. I'm not sure whether that is the best approach to learning Scheme. I still recommend them, but not for learning Scheme programming specifically, rather for learning programming in *any* language (and in fact in *all* languages). – Jörg W Mittag Mar 16 '10 at 18:39
  • 2
    Note, however, that the style of programming that SICP teaches and the style of code that it uses *is* very influential in the Scheme community, so it *will* certainly teach you about idiomatic Scheme programming. After all, the book was written and the course designed (and taught for decades) by one of the inventors and designers of Scheme. – Jörg W Mittag Mar 16 '10 at 18:41
1

I have learned more from The Scheme Programming Language than from SICP. The Little Schemer has also been very good.

eric.christensen
  • 3,191
  • 4
  • 29
  • 35
0

SICP is superb.

"How to Design Programs" is also rather good:

http://www.htdp.org/

The authors are behind much of the PLT Scheme distribution, which is an excellent beginner language (or, rather, has teaching languages which can incrementally expose Scheme syntax - not that there's much of it). They also contributed TeachScheme:

http://en.wikipedia.org/wiki/TeachScheme!

The plt-scheme mailing list (at Brown, I believe) is also an excellent resource.