Racket is one of the most flexible programming languages. It is a wonderful platform in which to express ideas and to conduct experiments with programming languages. Racket was created in the 1990s (as PLT Scheme). Despite its age, there aren't that many books written about it. There isn't a book that serves as a reference in the same way that K&R exists for C. This article will explore the reading materials that are available for learning Racket for beginners and experienced programmers alike.
Realm of Racket
Realm of Racket: Learn to Program, One Game at a Time! is co-authored by Matthias Felleisen, creator of PLT. The book is aimed at beginning programmers, and teaches how to program by creating progressively complex games. The text is a simple one, and goes through the basics of programming, and progresses to the point where the student is walked through the creation of GUIs, the development of simple AI, and multiplayer distributed games. It's about 300 pages long, and can be finished by experienced programmers in a weekend.
How to Design Programs
This relatively well-known book is known as HTDP within the community. HTDP uses a subset of Racket to introduce programming. The book progresses from the use of simple subsets to increasingly complex subsets of Racket. The book is used at some universities as the main text for their introductory programming course. It is also great for self study. Take note that this is not the usual programming book as it emphasizes program design, which is arguably the most difficult part in real-life programming, and attempts to teach it.
The Little Schemer
Although this book is written in a subset of Scheme, Racket is similar enough to Scheme, and this book is simple enough that everything (including code) works in Racket. The entire book is laid out in question-answer format with very smooth progression between sections. I had great fun reading this book. You don't even realize how much you've learned! I attribute the unintentional quick absorption of important programming concepts to the book's very clear presentation and the whimsical examples and illustrations within it. This is a series of books, so if you happen to like The Little Schemer, you can progress onto The Seasoned Schemer, The Reasoned Schemer, and The Little Prover.
Structure and Interpretation of Computer Programs
SICP is a classic of computer science that is meant to be used with a subset of Scheme, but it can still be followed using Racket. The book is about exactly what its title says. Starting off with the basic blocks of programming (the primitives), the book goes through the different ways in which programs can be written, the book eventually goes through programming paradigms by modifying the evaluator. The book ends by constructing a simple compiler for Scheme. The whole book is a tour of computer science that begins by presenting magic, and ends by showing that there is no magic after all. Truly enlightening.