Handling Source Code in a Database
This is the site of a freelance programmer who builds his own IDEs. Who likes it simple, and wonders at the complexity that you endure in conventional programming systems. The root of the complexity is the source file editor.
I need files for the compiler but I don´t have to handle source code directly in the files. I prefer a Source Code Management System - inspired by Smalltalk.
A program is an ordered collection of units: procedures, objects, methods, variables, etc., each identified by a name. Collections are usually handled in lists or databases. I keep wondering: Why is source code still edited in text files? Why don't programmers prefer a structured presentation in a browser like Smalltalk?
I admired the hierarchical order of OO programs and wondered how the source browser could be applied to procedural source. There were files and programming units but a middle level was missing. Finally, I noted that groups of units serve related functions. The first Holon system had a structure of modules, groups and (Forth) words. It was functional in 1989 and evolved into Holon86.
Holon86 was a complete IDE including compiler, assembler and debugger. Source and compiled code are managed in an 'image', similar to Smalltalk. There is no need for external source files.
Later Holonforth became a multi-platform IDE for general use. HolonU (image above) creates source files as pipes to the code generator (compiler, interpreter).