THINKING FORTH
A Language and Philosophy for Solving Problems
Includes interviews with Forth’s inventor, CHARLES H. MOORE, and other Forth thinkers
With illustrations by the author
by Leo Brodie in 1984
republished in 1994, and 2004 by Leo Brodie, version 1.0
just found this on my desktop
forget where i got it or how it got there;0
maybe its usefull for someone
regular reader of our forum would know that forth is the language used by open firmware
this book offers insight into the structure of this language
for those looking to accomplish advanced functions via customization + scripting via open firmware
Programming computers can be crazy-making. Other professions give you the luxury of seeing tangible proof of your efforts. A watchmaker can watch the cogs and wheels; a seamstress can watch the seams come together with each stitch. But programmers design, build, and repair the stuff of imagination, ghostly mechanisms that escape the senses. Our work takes place not in RAM, not in an editor, but within our own minds.
Building models in the mind is both the challenge and the joy of program- ming. How should we prepare for it? Arm ourselves with better debuggers, decompilers, and disassemblers? They help, but our most essential tools and techniques are mental. We need a consistent and practical methodology for thinking about software problems. That is what I have tried to capture in this book. Thinking Forth is meant for anyone interested in writing software to solve problems. It focuses on design and implementation; deciding what you want to accomplish, designing the components of the system, and finally building the program.
The book stresses the importance of writing programs that not only work, but that are also readable, logical, and that express the best solution in the simplest terms.
Although most of the principles described here can be applied to any language, I’ve presented them in the context of Forth. Forth is a language, an operating system, a set of tools, and a philosophy. It is an ideal means for thinking because it corresponds to the way our minds work. Thinking Forth is thinking simple, thinking elegant, thinking flexible. It is not restrictive, not complicated, not over-general. You don’t have to know Forth to benefit from this book. Thinking Forth synthesizes the Forth approach with many principles taught by modern computer science. The marriage of Forth’s simplicity with the traditional disciplines of analysis and style will give you a new and better way to look at software problems and will be helpful in all areas of computer application.
If you want to learn more about Forth, another book of mine, Starting Forth, covers the language aspects of Forth. Otherwise, Appendix A of this book introduces Forth fundamentals.
http://punchandbrodie.com/leo/forth.html