Ads 468x60px

Tuesday, September 3, 2013

Realm of Racket Review

Realm of Racket
My day job is in computer programming. As an author myself and active programmer, I periodically have the opportunity to review new programming books. I recently had the chance to review the book Realm of Racket. Racket is a programming language in the Lisp family. The book is written by Matthias Felleisen, David Van Horn, Conrad Barski. Felleisen is one of the original authors of the language. What I found most interesting before opening the book is the other eight contributing authors to the book. They're all students at Northeastern University. That's where I got my undergrad degree. I was out of school a few years before I wrote my first programming book.

What is the book about? It is an programming book that teaches the Racket programming language through the use of games. It is similar in concept to a prior book from this publisher I reviewed, Land of Lisp, but teaching Racket instead of Lisp. The primary author here, Felleisen, has also written The Little Schemer and How to Design Programs. All offer fun ways to learn programming.

As far as the inside of the book goes, you get fourteen chapters (about 275 pages) presenting the ins and outs of getting started programming with Racket. Each chapter presents its concept in a very lighthearted way, involving comics and the programming of a game. The games get progressively harder as the chapters move on but the games are fairly isolated in theory for what they are teaching. Just don't skip around. The book is meant more to be read front to back vs. skipping around where later games rely on your understanding concepts from earlier chapters.

Here's a look at the full table of contents:

Introduction: Open Paren

Chapter 1: Getting Started
Chapter 2: A First Racket Program
Chapter 3: Basics of Racket
Chapter 4: Conditions and Decisions
Chapter 4 and a Half: define define ‘define
Chapter 5: Big-Bang
Chapter 6: Recursion is Easy
Chapter 7: Land of Lambda
Chapter 8: Mutant Structs
Chapter 9: The Values of Loops
Chapter 10: Dice of Doom
Chapter 11: Power to the Lazy
Chapter 12: Artificial Intelligence
Chapter 13: The World is Not Enough
Chapter 14: Hungry Henry

Good Bye: Close Paren

Chapter 14 of the book is available online if you're interested in checking out a sample of the title. That chapter offers a basic distributed cupcake eating battle.

As an experienced programmer, picking up a new language isn't too difficult. For the most part, the concepts are the same, it is just the syntax that changes between the different languages. Racket might involve a few more parenthesis than most languages, but the basics are still there, and the Realm of Racket book presents a great first step into the language for the experienced developer. With that said, the subtitle of the book is Learn to Program, One Game at a Time! I view the book more as a Learn to Program with Racket book than a Learn to Program book. I'm not so sure how well the book would come across as a first book on programming. The "Who Should Read This Book?" sub-section at the start of the book uses the mantra "by freshmen, for freshmen." (Remember those eight Northeastern students.) And that is really the issue I have. If a freshman is just starting to program, I would say don't start here. I think my problem is more the language then the book though. I don't see Racket as a good learning/first programming language, as I don't think it provides a strong enough basis to move on to the next language. So, pickup the book if you want to learn about Racket, just don't pickup the book if what you want is learning to program.

DisclosureI received the above mentioned product for the purpose of this review. No other compensation was received. All opinions stated are my own and may differ from yours. See my disclosure policy for more information. 


Post a Comment