HolonS is the IDE I always wanted.
Compare it with the conventional way of programming. Both systems handle the same project - HolonS itself. Click on the images to see the systems in natural size. Click again to reduce.
Holon replaces the Multifile Source Editor
with a Source Content Management System
A computer program is a collection of named items, like procedures, functions, variables, classes, objects, etc. In HolonS each item is a unit that is stored and handled as a record in a database.
The program source is structured like a book with chapters, sections and units of information. This structure orders the collection in manageable small groups.
A chapter corresponds to a sourcefile. With every change in the browser the corresponding sourcefile is updated.
Sections collect logical groups of units.
The units are the functional items of the program. Thus the units contain the actual executable source.
Usually the title of the Holon unit is also the name of the program item. - However, a unit can contain any slice of source code, e.g. a set of variables or a detail of a long definition. Then the title describes the contents. - The titles are hypertext targets, you can look up the definition of a name that is used in source code or comments by a simple click.
Pages are tagged with their current revision numbers. If you change a page its old version is saved and you have a new version with the current revision number. The previous revisions remain in the project database and are listed in the revision pane. Recall a previous version with a click on its number.
There is ample space for comments for chapters, sections and units. In the units the comment is separated from the source and is not included in the source files. Therefore no additional delimiters are needed in the comments.
The source pane is only present in units. Here the program source is entered and edited and changed. Changes are instantly updated in the external source files. The source file contains only source code, no separate comments, thus the compiler or interpreter is not burdened with irrelevant text.
During a session Holon maintains a list of the pages of interest. The currently active page is listed at the top. Recall a page with a click in the list. Or use the Back button. A page is considered "visited" when it remains on the screen for two seconds or more.
This pane has multiple uses. It shows the results of searches for text in the Find entry field. Or the project history as a list of revisions, called with the Revision button. Else the pane shows the pages of the current revision.
Holon provides two views of the project: The present view of the hierarchy like a Smalltalk browser. Or a tree-view like a folder hierarchy.
The revision button shows the current revision number. It opens the log page of this revision and lists the currently revised pages. Its context menu (Ctrl-Click) offers options to display the project history and to commit the current revision.