bestelbus22@lemmy.world to Programmer Humor@lemmy.mlEnglish · 20 days agoThe meaning of thislemmy.mlexternal-linkmessage-square67fedilinkarrow-up1519arrow-down114
arrow-up1505arrow-down1external-linkThe meaning of thislemmy.mlbestelbus22@lemmy.world to Programmer Humor@lemmy.mlEnglish · 20 days agomessage-square67fedilink
minus-squarebestelbus22@lemmy.worldOPlinkfedilinkarrow-up4·19 days agoInteresting, how did they do inheritance? Something like void *super? Also why not switch to CPP if you wanna do OOP?
minus-squarexiii@lemmy.worldlinkfedilinkarrow-up2·18 days agoIn general, ‘classes’ declarations were done with macro. I don’t remember the exact code — something akin to BEGIN_CLASS(A, Parent); CLASS_MEMBER(a...) END_CLASS(); 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.
minus-squarebestelbus22@lemmy.worldOPlinkfedilinkarrow-up1·18 days agoThat sounds like quite a challenge to maintain, to speak in euphemisms ;)
minus-squarexiii@lemmy.worldlinkfedilinkarrow-up2·18 days agoRevolutionary technologies of the '80 make me appreciate modern programming languages and especially tooling much more.
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.