TI-994A wrote:This in not an agenda against OOP, and there's nothing to be taken out of context.
It serves only as a clarification that the OOP model is not the manna from heaven that it has been purported to be,
and there is no great loss for not using it. It does, however, validate the PureBasic Team's decision not to implement it.
To be honest, you don't need OOP for WinAPI-style programming. We didn't need it 20 years ago.
If you want to use some 15 years old ActiveX/COM components, you may be lucky using COMate+
to call them, but maybe that would count as using object-oriented components already, so be careful.
If you want to use modern APIs like Windows Runtime, Android API, many iOS/MacOSX APIs, Web Frameworks etc.,
you will get confronted with OOP style. Not only with the APIs itself, also all default/major programming languages
to develop for all modern systems support OOP, or are entirely object-oriented (Java, C++, C#, Objective-C, JavaScript/TypeScript etc.).
Makes somehow sense to use languages with support for object-oriented programming, if you want/need to use/access
all those modern object-oriented APIs. SDKs and developer documentation for those APIs use such languages.
The only ways to avoid contact with anything OOP within the modern developers world is IMO:
1.) Be happy with the old stuff, ignoring all new developments, APIs, frameworks, platforms, technologies, ...
2.) Find a 3rd-party wrapper-language that provides a flat, procedural system that hides the behind-the-scene object-oriented things from you
There are tools available for both of the above possibilities. SpiderBasic for example is clearly such a category 2 tool.
PB to some extend - it hides the object-oriented Cocoa API on MacOSX, for example. And evil object-oriented systems like the OGRE 3D engine.
Without rating, it should be pretty clear that the developer, who wants to avoid any contact with object-oriented APIs,
is then bound to the limits of what such a 3rd-party product makes available. In most cases that's only a small percentage
of the real APIs, simply because most of the mentioned APIs are really, really huge - often with many hundred classes, containing
many thousand methods/functions inside. Would be crazy to export all that into a flat API, just because a minority
has problems or reservations against using any object-oriented stuff.
It does not make sense to ignore and deny that the rest of the world is using OOP everywhere (APIs, languages).
The OOP hype is over for 15 years already. Today it's simply used everywhere. It became a standard for new APIs.
Some tools you use just hide that fact and provide a procedural system for you to use. Maybe you can still live
without using any of the mentioned modern APIs.
Be happy, if that's all you want and if you are already satisfied with it. Nonetheless, the world out there is still there,
even if you close your eyes.
Peace out