Holon

Ideas and concepts that influenced Holonforth.

Structured Programming

A structured modular program is made of units. Every part with an identifying name is a unit: function, subroutine, procedure, variable, object, class, ...

Questions

* What is the right size of a program unit?
* What makes a good program unit?
* What is the best way to order programming units?

Koestler: Holons

Nature handles its complexity in a structure of Holons. Each level has its own rules.

Factoring - Parts and Wholes

A good unit is a holon, a useful part of higher units.

Knuth: Literate - Text and Code

A program is a text to be read by humans and converted to code to be read by a machine. Knuth was inspired by Koestler. A literate program is written like a story as a collection of text&code units.

Moore: Words - Dictionary - Blocks

Program elements are words. Words are defined by words. Parts and Wholes. The program is structured in blocks and words. Good words are useful parts, one clear function described in the name. A Forth program is a collection of words that are both text and code.

Brodie: Components

A program is a collection of components of words.

Kay: Smalltalk - Objects

Program structure is a hierarchy of classes and objects. OO provides a 'natural' order. Adequate presentation in a browser (Smalltalk)

HolonForth: Book

The program is structured as a book into Chapters (files), Sections (classes, components), and Units (functions, routines, objects, methods, words). The book is handled in a browser ("Procedural Smalltalk").