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


Modern Frontend Development with Node.js

Author: Florian Rappl
Publisher: Packt Publishing
Date: November 2022
Pages: 208
ISBN: 978-1804618295
Print: 1804618292
Kindle: B0B9BH5WBS
Audience: Node.js developers
Level: Introductory/Intermediate
Rating: 3
Reviewer: Ian Elliot
Modern development - what else is there?



Computer Architecture (No Starch Press)

Author: Charles Fox
Publisher: No Starch Press
Date: May 2024
Pages: 560
ISBN: 978-1718502864
Print: 1718502869
Kindle: B0BZH1LB1F
Audience: General
Rating: 4
Reviewer: Harry Fairhead
No, not architecture via a computer - the architecture OF computers.


More Reviews

Last Updated ( Wednesday, 19 January 2022 )