# What is the best book for learning racket(scheme)?

**URL:** <https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008>\
**Category:** General\
**Created:** [May 20, 2022, 1:06am UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008 "2022-05-20T01:06:22Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![devosalain](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/devosalain/32/546_2.png) [@devosalain](https://racket.discourse.group/u/devosalain)\
**Post date:** [May 20, 2022, 1:06am UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/1 "2022-05-20T01:06:22Z")

</div>

Probably the most obvious question. Buy do i need a 1000 pager or a 100 pager ?  
After a book you need to be productive ...

---

<div class="post-metadata">

**Author:** ![benknoble](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/benknoble/32/16_2.png) [@benknoble](https://racket.discourse.group/u/benknoble)\
**Post date:** [May 20, 2022, 1:19am UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/2 "2022-05-20T01:19:09Z")

</div>

On the scheme side, SICP is free (though long IIRC).

HTDP is perhaps slightly more intro to Racket + programming, but is  
still one of the top recommendations (and is also free).

- [Welcome to the SICP Web Site](https://mitpress.mit.edu/sites/default/files/sicp/index.html)
- [https://htdp.org](https://htdp.org)

I'm sure Stephen has a wiki page or something with books 🙂

---

<div class="post-metadata">

**Author:** ![EmEf](https://avatars.discourse-cdn.com/v4/letter/e/53a042/32.png) [@EmEf](https://racket.discourse.group/u/EmEf)\
**Post date:** [May 20, 2022, 1:31am UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/3 "2022-05-20T01:31:36Z")

</div>

Of course we have to ask you the question are you

- a total novice who needs 10,000 page book
- an experienced Common Lisper who might get away with a 50 pager?

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [May 20, 2022, 1:00pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/4 "2022-05-20T13:00:20Z")

</div>

Hi Alain! Welcome 😀

There is some good guidance on the getting started page on the Racket Documentation: [Getting Started](https://docs.racket-lang.org/getting-started/index.html)

This guidance covers both if you are new to programming or if you are already a programmer.

If you do have a background in programming then another approach might be to ask for examples of the sort of things you want to do with Racket?

Some peoples goals are educational; learning about functional programming, programming language design, or advanced programming language features.

Other people want to build something specific:

- a native application (gui or command line)
- Web application (server or client side)
- a DSL or whole language  
…or something in between?

Either way, let us know what your goals are and we will do best to help you.

Best wishes  
Stephen

PS

The Racket books page: [Racket](https://racket-lang.org/books.html)

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [May 20, 2022, 4:34pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/6 "2022-05-20T16:34:36Z")

</div>

Is the scan published with permission from the authors and/or publishers?

If I can’t get confirmation I’ll have to remove the post.

S.

---

<div class="post-metadata">

**Author:** ![EmEf](https://avatars.discourse-cdn.com/v4/letter/e/53a042/32.png) [@EmEf](https://racket.discourse.group/u/EmEf)\
**Post date:** [May 20, 2022, 4:56pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/7 "2022-05-20T16:56:23Z")

</div>

MIT Press owns the copyright to these books, and they would be very very very unhappy if they found out.

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [May 20, 2022, 5:07pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/8 "2022-05-20T17:07:20Z")

</div>

Thank you for the clarification.  
I have deleted the post.

---

<div class="post-metadata">

**Author:** ![dstorrs](https://avatars.discourse-cdn.com/v4/letter/d/898d66/32.png) [@dstorrs](https://racket.discourse.group/u/dstorrs)\
**Post date:** [May 20, 2022, 5:38pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/9 "2022-05-20T17:38:43Z")

</div>

Welcome, Alain! Nice to have you.

My recommendation would be [The Little Schemer, Fourth Edition](https://mitpress.mit.edu/books/little-schemer-fourth-edition) by our very own [Daniel P. Friedman](https://mitpress.mit.edu/contributors/daniel-p-friedman) and [Matthias Felleisen](https://mitpress.mit.edu/contributors/matthias-felleisen). It's light, breezy, and fun but also ends up covering some deep topics. The sequel, [The Seasoned Schemer, Second Edition](https://mitpress.mit.edu/books/seasoned-schemer-second-edition) will take you on from there.

---

<div class="post-metadata">

**Author:** ![joskoot](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/joskoot/32/1964_2.png) [@joskoot](https://racket.discourse.group/u/joskoot)\
**Post date:** [May 20, 2022, 8:08pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/10 "2022-05-20T20:08:21Z")

</div>

I don’t know. Did not think about the possibility it did not have permission.

Please remove the link.

 ![DC369554041A4649A528B20B10730B39.png](https://global.discourse-cdn.com/free1/uploads/racket/original/1X/2ad4c25f471d2cfc2782215e9bb5a535b2545175.png)

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [May 20, 2022, 8:35pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/11 "2022-05-20T20:35:35Z")

</div>

Easy mistake to make. It is removed now. Don’t worry about it.

---

<div class="post-metadata">

**Author:** ![joskoot](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/joskoot/32/1964_2.png) [@joskoot](https://racket.discourse.group/u/joskoot)\
**Post date:** [May 20, 2022, 8:52pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/12 "2022-05-20T20:52:28Z")

</div>

Thanks!!!

 ![DC369554041A4649A528B20B10730B39.png](https://global.discourse-cdn.com/free1/uploads/racket/original/1X/2ad4c25f471d2cfc2782215e9bb5a535b2545175.png)

---

<div class="post-metadata">

**Author:** ![sschwarzer](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/sschwarzer/32/1940_2.png) [@sschwarzer](https://racket.discourse.group/u/sschwarzer)\
**Post date:** [May 21, 2022, 3:58pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/13 "2022-05-21T15:58:24Z")

</div>

There's also [The Scheme Programming Language](https://www.scheme.com/tspl4/). I worked through the first two chapters and a part of the third and like the book. I especially like that there are so many exercises, including example solutions.

To people having checked out "The Scheme Programming Language" and the combination "The Little Schemer"/"The Seasoned Schemer", how do the books by Dybvig and Friedman/Felleisen compare? What does one do better than the other? I'm wondering if it's worth it to buy the Friedman/Felleisen book(s) if I could otherwise (continue to) work through the Dybvig book.

---

<div class="post-metadata">

**Author:** ![devosalain](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/devosalain/32/546_2.png) [@devosalain](https://racket.discourse.group/u/devosalain)\
**Post date:** [June 6, 2022, 3:47pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/14 "2022-06-06T15:47:29Z")

</div>

I'll think i'll start with "the scheme programming language".  
It's a bit chez oriented but probably ok for racket also ?

---

<div class="post-metadata">

**Author:** ![tmeehan](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/tmeehan/32/152_2.png) [@tmeehan](https://racket.discourse.group/u/tmeehan)\
**Post date:** [July 22, 2022, 2:38am UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/15 "2022-07-22T02:38:29Z")

</div>

I liked a few of these in addition to the ones that were already mentioned:

[Teach Yourself Scheme in Fixnum Days](https://ds26gte.github.io/tyscheme/)  
[Realm of Racket](http://realmofracket.com/) - which was made like [Land of Lisp](http://landoflisp.com/) Conrad Barsky is a hoot - I rarely get a chuckle out of a book on programming.  
[Essentials of Programming Languages](https://mitpress.mit.edu/books/essentials-programming-languages)  
[Kent Dyvbig's PhD Thesis](https://legacy.cs.indiana.edu/~dyb/papers/3imp.pdf) - mind you, I am sure that there are mountains of other publications by other folks (probably some that are reading this forum now?), this is just a small slice out of my bookmarks on my browser.

Also, try out exercises online? Exercism has a Racket language track. I think that there are lots of others. A random search a while back gave me this one from [Philip Wong](https://www2.cs.sfu.ca/CourseCentral/310/pwfong/Lisp/) - Scheme is pretty Lispy.

Then there is macros ... [Fear of Macros](https://www.greghendershott.com/fear-of-macros/) is a pretty good introduction. I think that there is also another one I liked: [JRMs syntax-rules for the Merely Eccentric](http://www.phyast.pitt.edu/~micheles/syntax-rules.pdf)

With a language as seasoned as Scheme, there is likely more lost to us than available. I think that Fortran is the only semi-commonly-used language older than the Lisp family?

---

<div class="post-metadata">

**Author:** ![benknoble](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/benknoble/32/16_2.png) [@benknoble](https://racket.discourse.group/u/benknoble)\
**Post date:** [July 22, 2022, 1:29pm UTC](https://racket.discourse.group/t/what-is-the-best-book-for-learning-racket-scheme/1008/16 "2022-07-22T13:29:52Z")

</div>

I don't think I knew that Dyvbig did his PhD at UNC Chapel Hill (my  
alma mater, as well)—now I'm wondering even more what happened to the  
PL Tarheels…
