I suspect the state of the compilers in 1993. And maybe the standard even. When I was using C++ a lot in 2000 it was difficult to get non-trivial code working across compilers.
certainly true (first c++ standard was in 98) but i think this is more a library issue than anything else, which isn't germain to this article. i haven't read the article in depth, but things like new/delete, constructors and virtual functions in wide use in 93. and let's not forget that C itself was only standardised in 89, and it took vendors a long time to catch up with that standard.
Library issue was my understanding - the Half-Life mod Natural Selection used the STL heavily and was built for both Windows and Linux (Linux for dedicated servers).
When the source code was released many years later the documentation said it needed a library called stlport - some third-party implementation of the STL because even in 2002 when Natural Selection was released, different compilers apparently shipped STLs of varying quality.
STLport was the open sourcing of SGI's STL implementation, and its existence I think kinda predated the completion of a full STL shipped with either MSVC or GCC. It got used back then because of, yeah, varying quality between compilers but also varying consistency. If you wanted something that could compile on both G++ and MSVC7 or earlier you were probably going to reach for stuff like that, or have a pile of #ifdefs and pain.
C++ is a far nicer language to work with these days. Back then everyone rolled their own string etc. library, too. Sucked.
i don't know about the half life stuff. stlport was (is?) a portable implemrntation of the Standard Template Library. this is far from the same as the C++ Standard Library.
It was only used by one of the bigger Half-Life mods (nothing first party - Half-Life's game code is very much C with classes). Possibly other mods used it but I suspect that most Half-Life mods kept to the style of the original.