Racket Programming the Fun Way

Author: James W. Stelly
Publisher: No Starch Press
Date: January 2021
Pages: 360
ISBN: 978-1718500822
Print: 1718500823
Kindle: B085BW4J16
Audience: Developers interested in Racket
Rating: 4
Reviewer: Mike James
If you have ever wanted to Lisp then try Racket.

Lisp is generally regarded as the language of the gods - but the gods are usually considered to be slightly more intelligent than the average mortal and so it is with some trepidation you should approach any descendent of Lisp. Racket is recognizably Lisp, but it also has object-oriented features that make "normal" programming easier. This said it is also worth knowing that the main use of Racket is to implement experimental languages and this is not the emphasis of this book. Instead this book is a collection of general projects that you might consider fun - hence  "Fun" in the book's title.

The book uses the DrRacket IDE which is the only reasonable choice. Chapter 1 dives straight in with very Lisp-like lists and S expressions. If you've encountered Lisp in a former life this will look all very familiar. The presentation isn't formal and the syntax and ideas of the language are introduced by examples and informal discussion. There are no jokes, but the style is friendly and informative.

Chapter 2 introduces basic numeric types, Chapter 3 deals with creating functions and of course being a Lisp-like language this means lambda functions.   

Reaching Chapter 4, we have left the basics of the language behind and start to look at examples. This is where you will learn most about Racket rather than details of the language. So if you don't like learning by example this isn't going to be to your liking. Chapter 4 is about graphics and Chapter 5 introduces Racket's GUI. This is all fairly object-oriented.

Chapter 6 is about data and file handling and the examples are about stats and visualization. Chapter 7 outlines the standard search algorithms, which is something any Lisp-oriented language is very good at. Chapter 8 introduces Racket's logic programming library, which gives you a chance to find out about Prolog-style programming. Chapter 9 looks at machines like Turing machines to give you some idea of what this aspect of computer science is all about and justifies the book's subtitle of "from Strings to Turing Machines".

The final chapter implements an algebraic calculator which does make use of Racket's language processing abilities, but this probably isn't enough for language theory students.

This is a beginner's book for the beginner who wants to learn something about Lisp-like languages. It doesn't cover all of the details of Racket, no mention is made of macros for example, and it doesn't explain why and how Racket is different from other Lisp-like languages, notably Clojure. As far as it goes it is a good introduction, as long as you like introductions that major on examples.

 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

Banner


Discovering Modern C++, 2nd Ed

Author: Peter Gottschling
Publisher: Addison-Wesley
Pages: 576
ISBN: 978-0136677642
Print: 0136677649
Kindle: ‎ B09HTJRJ3V
Audience: C++ developers
Rating: 5
Reviewer: Mike James

Modern C++ who would want to write anything else? Is this a suitable introduction for the rest of us?



SQL Server Advanced Troubleshooting and Performance Tuning (O'Reilly)

Author: Dmitri Korotkevitch
Publisher: O'Reilly
Pages: 497
ISBN: 978-1098101923
Print:1098101928
Kindle: B0B197NYD7
Audience: DBAs & database devs
Rating: 5
Reviewer: Ian Stirk

This book aims to improve the performance of your SQL Servers, how does it fare?


More Reviews

Last Updated ( Wednesday, 19 January 2022 )