LinuxLinks.com
Newbies What Next ? News Forums Calendar

Search





News Sections
Home
General News (3973/0)
Reviews (628/0)
Press Releases (464/0)
Distributions (187/0)
Software (867/0)
Hardware (522/0)
Security (192/0)
Tutorials (345/0)
Off Topic (181/0)


User Functions
Username:

Password:

Don't have an account yet? Sign up as a New User


Events
There are no upcoming events




6 Invaluable Free Forth Books

6 Invaluable Free Forth Books

Forth is an imperative stack-based programming language, and a member of the class of extensible interactive languages. It was created by Charles Moore in 1970 to control telescopes in observatories using small computers. Because of its roots, Forth stresses efficiency, compactness, flexible and efficient hardware/software interaction.

Forth has a number of properties that contrast it from many other programming languages. In particular, Forth has no inherent keywords and is extensible. It is both a low level and high level language. It has the interesting property of being able to compile itself into a new compiler, debug itself and to experiment in real time as the system is built. Forth is an extremely flexible language, with high portability, compact source and object code, and a language that is easy to learn, program and debug. It has an incremental compiler, an interpreter and a very fast edit-compile-test cycle. Forth uses a stack to pass data between words, and it uses the raw memory for more permanent storage. It also lets coders write their own control structures.

Forth has often being deployed in embedded systems due to the compactness of object code. Forth is also used in boot loaders such as Open Firmware (developed by Sun Microsystems) as well as scientific fields such as astronomy, mathematics, oceanography and electrical engineering.

The focus of this article is to select some of the finest free Forth books which help newcomers to Forth to quickly master this language. All of the texts here come with our recommendation, each offering unique insights. So get reading (and learning).

1. Thinking Forth

Thinking Forth
Website thinking-forth.sourceforge.net
Author Leo Brodie
Format PDF, LaTeX
Pages 313

Thinking Forth captures the philosophy of problem solving and programming style, applied to the unique programming language Forth. The book was first published in 1984. It is widely recognised as an essential read for all budding Forth programmers.

Many software engineering principles discussed here have been rediscovered in eXtreme Programming, including (re)factoring, modularity, bottom-up and incremental design. Learn all about the philosophy of Forth, analysis, decomposition, problem solving, style and conventions, factoring, handling data, and minimizing control structures.

The book includes interviews with the investor of Forth, Charles H. Moore, as well as interviews with other Forth luminaries.

This book has been scanned, OCR'd, typeset in LATEX, and brought back to print (and monitor) by a collaborative effort under a Creative Commons license.

Chapters cover:

  • The Philosophy of Forth - examines some of the major philosophies advanced by computer scientists over the years
  • Analysis - examines the analysis and engineering stages of the programming cycle
  • Preliminary Design/Decomposition - discusses two ways to decompose your Forth application: decomposition by component and decomposition by sequential complexity
  • Detailed Design/Problem Solving - applies problem-solving techniques to the detailed design of a Forth application
  • Implementation: Elements of Forth Style - delves into Forth coding convention including listing organization, screen layout, spacing and indentation, commenting, and choosing names
  • Factoring - organizing code into useful fragments. The chapter discusses various "factoring-out" techniques, and the criteria for useful factoring
  • Handling Data: Stacks and States - examines how Forth handles data
  • Minimizing Control Structures - examines techniques for simplifying and eliminating control structures such as using structured exits, vectoring, and redesigning
  • Forth's Effect on Thinking
  • Appendix A: Overview of Forth (For Newcomers) - the dictionary, data structures, the stack, and control structures
  • Appendix B: Defining DOER/MAKE - helps the reader install DOER and MAKE and understand how they work
  • Appendix C: Other Utilities Described in This Book - define some of the words referred to in this book that may not exist in your system
  • Appendix D: Answers to "Further Thinking" Problems
  • Summary of Style Conventions

2. Starting Forth

Starting Forth
Website home.iae.nl/users/mhx/sf.html
Author Leo Brodie
Format HTML
Pages -

Starting Forth is a useful introduction to the Forth programming language. It explains how to write simple applications in Forth. The book includes all standard Forth words that you need to write a high-level single-task application an exciting and powerful computer language called

Each chapter also has a review of terms and a set of exercise problems, with answers. "Handy Hints" have been included to reveal procedural tips or optional routines that are useful for learners.

Chapters cover:

  • Fundamental Forth - introduces the reader to some of the unique properties of Forth
  • How to Get Results - introduces some of the arithmetic instructions besides + and some special operators for rearranging the order of numbers on the stack
  • The Editor (and Staff) - introduces an alternate method, using disk storage
  • Decision, Decisions, ... - learn how to program the computer to make "decisions." including nested IF...THEN statements, logic, and two words with Built-in IF
  • The Philosophy of Fixed Point - introduces a new batch of arithmetic operators and how to handle decimal points using only whole-number arithmetic
  • Throw it for a Loop - learn how to write loops to do simple tasks
  • A Number of Kinds of Numbers - introduces and explains how Forth handles signed and unsigned, single- and double-length numbers
  • Variables, Constants and Arrays - in this chapter the reader learns how Forth treats variables and constants, and in the process how to directly access locations in memory
  • Under the Hood - digs deeper into Forth
  • I/O and You - explains how Forth handles I/O of character strings to and from disk and the terminal
  • Extending the Compiler - defining words and Compiling words
  • Three Examples - a word game, a simple filing system, and a math problem which many people would assume could only be solved by using floating point

3. Programming Forth

Programming Forth
Website www.mpeforth.com/arena/ProgramForth.pdf
Author Stephen Pelc
Format PDF
Pages 198

Programming Forth introduces the reader to modern Forth systems.

The book focuses on introducing people who already know some programming to ANS Forth systems. It is not a treatise on ANS Forth itself.

Apart from the introduction of ANS Forth itself, Programming Forth includes examples of varying sizes, exercises, some advanced topics, how to take best advantage of Forth and project management.

Chapters cover:

  • Introduction
  • Architecture of Forth - includes some details which the reader does not need to appreciate fully to use Forth, but are described here because they are a consequence of the architecture of Forth. It looks at forth virtual machine, stacks and postfix notation, data types, words and numbers, interpreting and compiling, defining words and immediate words, and factoring (splitting complex functions into smaller functions)
  • How Forth is documented - a brief chapter describing comments, stack comments and notation
  • First words in Forth
  • Components of Forth - data stack operations, return stack operations, maths operations, comparisons, bitwise logic, memory operations, constants and variables, control structures, text and strings, print formatting, vocabularies, and wordlists
  • Example: Date Validation
  • Simple character I/O - the definitions of the ANSI I/O words are collected here
  • Defining with CREATE ... DOES> - devoted to a facility which gives the tools to define compile time and run time behaviour
  • Diary and Phone Book examples - two worked examples to help educate readers
  • Execution Tokens and Vectors - the reader learns how the ability to handle an execution token can be useful in an application
  • Extending the compiler - immediate words, accessing the compiler, and structures are revisited
  • Errors and exception handling
  • Files
  • Common extensions - sketches out the principles of multitasking and use vendor-specific examples
  • Embedded Systems - examines defining and using memory, Harvard targets, compiler and interpreter extensions, I/O ports, interrupt handlers, umbilical systems, debugging embedded systems, and block I/O
  • Forth Internals - looks at the anatomy of a Forth system
  • Using the Forth interpreter - two examples, showing how configuration code can be used to set defaults at compile time, and to provide configuration tools for the application, and using the compiler to provide storage of named items
  • Code Layout - tabs, horizontal and vertical layouts, comments, file layout, base and numbers, vocabularies and wordlists, layout of a definition, defining words, control structure layout, layout of code definitions, constants, values and variables, buffers, data tables, and case questions
  • Exercises
  • Solutions to Exercises
  • Adopting and managing Forth
  • Legacy issues
  • Other Books and Resources

Next Section: 6 Invaluable Free Forth Books - Part 2

Bookmark and Share


Last Updated Sunday, July 27 2014 @ 12:04 PM EDT


We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, SQL, Node.js (new), Fortran (new), Erlang (new), Pascal (new), and Ada (new).


Group Tests
All Group Tests

Top Free Software
6 Office Suites
7 Document Processors
6 Lean Desktops
6 Desktop Search
9 Project Management
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 DVD Tools
21 Window Managers
21 Productivity Tools
9 Terminal Emulators
21 Financial Tools
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
11 Remote Display Apps
42 Best Games
42 More Games
21 More Games
21 Notable Games (1)
21 Notable Games (2)
21 Notable Games (3)
8 ASCII Games
9 Educational Games
42 Audio Apps
42 Video Apps
6 Screencasting Apps
80 Security Apps
9 System Monitoring
6 Family History Apps
11 PDF Tools
6 Music Servers
6 Collection Managers
7 Calculator Apps
8 Geometry Apps
Free Console Apps
14 Multimedia
Programming
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
'Free' Proprietary
21 Closed-Source Apps
Top Commercial Apps
42 Games
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

All Group Tests

Other Articles
Migrating from Windows
Back up your data
Distribution Guide
Distro Portal Pages
20 Free Linux Books
Running Linux Under Windows


Older Stories
Sunday 05/18
  • 6 Invaluable Free Ada Books (0)

  • Thursday 05/15
  • 4 Best Free Pascal Books (0)

  • Saturday 05/10
  • 5 Best Free Erlang Books (0)

  • Sunday 05/04
  • The 9 Best Free Fortran Books (0)

  • Thursday 05/01
  • 5 Best Free Node.js Introductory Books (0)

  • Sunday 04/27
  • Tools to Empower Librarians (0)

  • Saturday 04/19
  • Create Vector Graphics with Open Source Software (0)
  • Manage your Business with a Complete Software Solution (0)

  • Sunday 04/06
  • Free to Play Linux Games on Steam (0)
  • Increasing Lab Efficiency with an Open Source LIMS (0)


  • Vote

    What do you find MOST attractive about Open Source software?

    Amount of customization
    Security
    Freedom provided
    Speed of development
    Quality
    Multiple versions
    Cost
    Potential to contribute
    Ability to modify code
    Results
    4779 votes | 2 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 LinuxLinks.com - All rights reserved