Overall, learning C was the best enabler in my whole career. For instance I was learning Python by tinkering with CPython VM, so when I see these ‘WAT’ quircks I know exactly what’s up.
The project had started before C++ existed, and the switch would be too costly. It’s not just OOP part, also reflection mechanism with bindings to the homemade scripting language, and multi-platform UI library.
It was a gem of its time.
I was working on a C code base with classes, inheritance, and polymorphism, all done by hands and macros.
Something like
Overall, learning C was the best enabler in my whole career. For instance I was learning Python by tinkering with CPython VM, so when I see these ‘WAT’ quircks I know exactly what’s up.
Interesting, how did they do inheritance? Something like
void *super
? Also why not switch to CPP if you wanna do OOP?In general, ‘classes’ declarations were done with macro. I don’t remember the exact code — something akin to
The project had started before C++ existed, and the switch would be too costly. It’s not just OOP part, also reflection mechanism with bindings to the homemade scripting language, and multi-platform UI library. It was a gem of its time.
That sounds like quite a challenge to maintain, to speak in euphemisms ;)
Revolutionary technologies of the '80 make me appreciate modern programming languages and especially tooling much more.