Thinking Forth

CategoryBook: "Thinking Forth" by LeoBrodie ISBN 0976458705 -- on the ForthLanguage

Flawed, opinionated, brilliant. This book, subtitled "A Language and Philosophy for Solving Problems" was written for the programming community as a whole, using ForthLanguage as the basis for teaching its concepts, including nuggets of wisdom from various Forth advocates (including Forth's inventor Chuck Moore).

The book was originally published in 1984, re-published in 1994, and once again in 2004, both online (http://thinking-forth.sourceforge.net/) and in print forms (new ISBN 0976458705 ). It proves every bit as relevant today as it did back then. Some argue that it feels a bit dated. It gives fascinating insight into the minds of Forth programmers while solving various kinds of problems.

This book offers a collection of idioms (called simply 'tips' in the book) that offer solutions to common design/coding problems using Forth. Lucidly written, Brodie shows us how Forth programmers dealt with rapid prototyping, encapsulation and other software techniques now considered mainstream. The format of these examples would later come to be known as patterns (not necessarily design patterns, but also programming behavioral patterns as well). Indeed, it would be very easy to rewrite this book using PatternLanguage conventions.

(Part of an ongoing PatternPerson BookList)

Contributors: ToddCoram originally, updated by: Charles Childers, Bernd Paysan, and finally, SamuelFalvo?


I absolutely loved the cartoons/illustrations in this book. They were crudely drawn, but normally struck a chord somehow. For example, one cartoon showed a guy working very intensely to unlock his car door using a coat hanger. He was totally oblivious to the fact that the door on the other side of the car was open. The cartoon was labelled "Intent on a complicated problem".

Another good one is "An overgeneralized solution" which pictures a Universal Processor(R) with settings for data, word and food!
It's been years since I've read the book but one tip that has stayed with me is "Go back to the problem before the user tried to solve the problem".

Lieven
Here are some more ThinkingForthTips.

CategoryForth

EditText of this page (last edited May 22, 2008) or FindPage with title or text search