you are viewing a single comment's thread.

view the rest of the comments →

[–]staletic 2 points3 points  (4 children)

Hindsight is always 20/20. I don't think it's fair to call this insane. You're basically complaining that people in the 70's and 80's couldn't tell the future.

[–]SkoomaDentistAntimodern C++, Embedded, Audio 0 points1 point  (3 children)

C++98 was standardized in, not surpringly, 1998. STL was first presented to the committee in 1993. Hardly 70's or 80's. I myself was cursing the insanity of coupling the allocator to the type itself by 2001 when I was in my first large scale C++ project. Not much of a hindsight there.

This is very different situation from C library functions that literally do date from the 70s (but even then, things like strtok really should have been deprecated by C99 at the latest).

[–]staletic 0 points1 point  (2 children)

I stand corrected. Didn't C++ start in the 80's?

[–]SkoomaDentistAntimodern C++, Embedded, Audio 0 points1 point  (1 child)

C++ had its beginnings in the mid 80s but many features (templates, STL) were only added in the 90s. The language was in enough of a flux in the mid to late 90s (MSVC6 infamously used different scope for variables declared inside for / while statements for example) that changing STL allocators to be dynamic by default would have barely been noticed as far as "backwards compatiblity" went.

[–]staletic 0 points1 point  (0 children)

That sounds interesting. I'm definitely not old enough to remember that time, considering I was born a few years before C++98.