@4uhq+1pH4BhK3
I remember when all that was going down. About 1995 sound right? Yeah, it's coming back to me now.
At that juncture in time, I was involved in the design and construction of some lower level XOB-related services, that could also be invoked from C in the X and Y layers. A certain group of assertive developers insisted on their vision of XOB and it seemed to me the internal implementation was a constant moving target.
IIRC, the justification for not beginning to adopt C++ was that it had not matured enough to build SAS on all supported host targets. That's fair, but I'm not sure what XOB really provided other than maybe making the ODS APIs "friendlier"?
Attempting to impose heavy O-O semantics on C Via a homegrown system of macros, V-tables and pointer swizzling feels more like an academic exercise.
Imagine had SAS had the insight to get involved in the early formation of the C++ standard? We could've had influence and gained super valuable insight without having to build so many homegrown, workarounds like TK they come with a heavy price in terms of ongoing maintenance and the inability to attract top talent because nobody wants to waste their career on something for priory and now 25 years old.
I believe we were involved in ANSI C, given SAS' own C compiler Development heritage, which was likely another reason why there was little push to get to C++. Those were turbulent times, riding high on the fast growing adoption of MVA version 6, SAS' reputation as THE tech workplace of that era, Goodnight and Sall becoming billionaires, etc.
From my vantage point, there's a real trade off here because at that point (mid 90s) the micromanaged doofus R&D culture did not exist and developers were free to actually do research, intense first principles tech learning and innovation. This phenomena is one reason why SAS continued to grow so rapidly all through the 90s.
Unfortunately, the vision, maturity and effectiveness of management did not keep up with the SAS' revenue growth and technical prowess of that juncture in time.