Thinking ForthThinking Forth applies a philosophy of problem solving and programming style to the unique programming language Forth. Published first in 1984, it could be among the timeless classics of computer books, such as Fred Brooks' The Mythical Man-Month and Donald Knuth's The Art of Computer Programming. Many software engineering principles discussed here have been rediscovered in eXtreme Programming, including (re)factoring, modularity, bottom-up and incremental design. Here you'll find all of those and more, such as the value of analysis and design, described in Leo Brodie's down-to-earth, humorous style, with illustrations, code examples, practical real life applications, illustrative cartoons, and interviews with Forth's inventor, Charles H. Moore as well as other Forth thinkers. |
Contents
Analysis | 37 |
Preliminary DesignDecomposition | 71 |
Detailed DesignProblem Solving | 99 |
Elements of Forth Style | 135 |
Factoring | 171 |
Stacks and States | 197 |
Minimizing Control Structures | 227 |
Forths Effect on Thinking | 261 |
Overview of Forth For Newcomers | 265 |
Defining DOERMAKE | 269 |
Other Utilities Described in This Book | 275 |
Answers to Further Thinking Problems | 279 |
Summary of Style Conventions | 283 |
289 | |
Other editions - View all
Common terms and phrases
algorithm APPLES application approach arguments array ASCII assembly language buffer bytes called Chapter character CMOVE colon definition column commands COMPILE component conceptual model CONSTANT contents control structure CREATE cursor data structures decimal decision table defining word describe digit display DOER DOER/MAKE EMIT ENDOF example execution EXIT factoring Figure FIVER flag Forth’s function high-level implementation information hiding input stream Insert Mode INSERT-OFF instance interface invoke keystroke language lexicon LOAD logic look LOOP MARK BERNSTEIN module Moore offset ONER operator output OVERWRITE phrase PICK and ROLL pointer problem RAM-ALLOT readable requires return stack Roman numerals routines screen software development cycle solution space stack effect string structured programming subroutine SWAP symbol syntax techniques there’s things VARIABLE vectored write xxx xxx xxx zero