Ik heb dit weekend versie 3.0 van mijn eigen tool vrijgegeven, en omdat er hier vast mensen zitten die met codegeneratie of met het moderniseren van oude codebases bezig zijn, deel ik hem hier.
Wat het is: je definieert in een GUI een objectmodel — klassen, members, methods, relaties, overerving, class- en sequencediagrammen — en ClassBuilder schrijft daar de .h/.cpp voor. De gegenereerde code gebruikt een kleine header-only runtime voor owned containers, AVL-/value-trees en serialisatie.
Self-hosted: het model dat ClassBuilder's eigen broncode genereert zit in de repo. Elk bestand onder src/model/ is door de tool zelf geproduceerd, dus de repository is meteen het uitgewerkte voorbeeld.
De geschiedenis is het aardigste stuk. Het project stond in 2002 al op SourceForge onder de GPL, en kwam daar binnen op build 439 — het was toen dus al jaren in gebruik. Sindsdien is het mijn dagelijkse gereedschap gebleven. Versie 3.0 is de eerste release onder MIT.
Wat ik nooit dacht af te maken: het was het grootste deel van zijn leven een Windows-only MFC-applicatie. De port naar Qt stond al jaren op de lijst zonder dat ik eraan begon — ~150 modelbestanden plus de complete GUI. Met AI-ondersteuning heb ik het dit jaar wél aangedurfd. MFC is er nu volledig uit en dezelfde broncode bouwt en draait op Windows, macOS en Linux, met de platformverschillen geïsoleerd in één seam.
Er zit ook een JSON-over-TCP command-API in (149 commando's), zodat het model door een script of een AI-agent aangestuurd kan worden. De modelmigraties van de port zelf liepen daardoorheen — anders zit je de tool te verbouwen ín de tool die je aan het verbouwen bent.
Installers voor alle drie de platforms staan bij de releases: *knip*
Waar ik benieuwd naar ben: wie hier gebruikt er nog serieus codegeneratie in C++, en waarvoor? Ik heb het idee dat het vakgebied grotendeels naar reflectie en templates is opgeschoven, maar voor datamodellen met veel relaties en serialisatie bevalt het mij na 25 jaar nog steeds beter.
Wat het is: je definieert in een GUI een objectmodel — klassen, members, methods, relaties, overerving, class- en sequencediagrammen — en ClassBuilder schrijft daar de .h/.cpp voor. De gegenereerde code gebruikt een kleine header-only runtime voor owned containers, AVL-/value-trees en serialisatie.
Self-hosted: het model dat ClassBuilder's eigen broncode genereert zit in de repo. Elk bestand onder src/model/ is door de tool zelf geproduceerd, dus de repository is meteen het uitgewerkte voorbeeld.
De geschiedenis is het aardigste stuk. Het project stond in 2002 al op SourceForge onder de GPL, en kwam daar binnen op build 439 — het was toen dus al jaren in gebruik. Sindsdien is het mijn dagelijkse gereedschap gebleven. Versie 3.0 is de eerste release onder MIT.
Wat ik nooit dacht af te maken: het was het grootste deel van zijn leven een Windows-only MFC-applicatie. De port naar Qt stond al jaren op de lijst zonder dat ik eraan begon — ~150 modelbestanden plus de complete GUI. Met AI-ondersteuning heb ik het dit jaar wél aangedurfd. MFC is er nu volledig uit en dezelfde broncode bouwt en draait op Windows, macOS en Linux, met de platformverschillen geïsoleerd in één seam.
Er zit ook een JSON-over-TCP command-API in (149 commando's), zodat het model door een script of een AI-agent aangestuurd kan worden. De modelmigraties van de port zelf liepen daardoorheen — anders zit je de tool te verbouwen ín de tool die je aan het verbouwen bent.
Installers voor alle drie de platforms staan bij de releases: *knip*
Waar ik benieuwd naar ben: wie hier gebruikt er nog serieus codegeneratie in C++, en waarvoor? Ik heb het idee dat het vakgebied grotendeels naar reflectie en templates is opgeschoven, maar voor datamodellen met veel relaties en serialisatie bevalt het mij na 25 jaar nog steeds beter.
[ Voor 2% gewijzigd door .oisyn op 29-08-2026 00:35 ]