Thinking Forth Tips

Everything old is new again. There are no new ideas. Modern software development is not so modern.

Here are some random tips (quoted verbatim) from the book ThinkingForth (published in 1984):

  • Start simple. Get it running. Learn what you’re trying to do. Add complexity gradually, as needed to fit the requirements and constraints. Don’t be afraid to restart from scratch.

  • Plan for change (by designing components that can be changed).

  • First, and most importantly, the conceptual model should describe the system’s interfaces.

  • Factor the fruit. (Don’t confuse apples with oranges).

  • You don’t understand a problem until you can simplify it.

  • Decide on error and exception-handling early as part of defining the interface.

  • Generality usually involves complexity. Don’t generalize your solution any more than will be required; instead, keep it changeable. (hmmm… YouArentGonnaNeedIt? – Ed)

  • To simplify, take advantage of what’s available.

  • The mean time for making a “two-hour” addition to an application is approximately 12 hours.

  • In deciding where to start designing, look for:
    • areas where the most creativity is required (the areas where change is most likely)

    • areas that give the most satisfying feedback (get the juices flowing)

    • areas in which the approach decided upon will greatly affect other areas, or which will determine whether the stated problem can be solved at all

    • things you should show the customer, for mutual understanding

    • things you can show the investors, if necessary for the rent.