Original post by DaBonoQuote:
Original post by skittleo
I would call C++ minimalistic. There's nothing built into the syntax of the language for strings, lists, dictionaries, etc. You can access most of the missing features through STL and boost [...] these features exist outside the basic syntax of the language.
The same is true for Java and C#. The actual Java-language has no knowledge about strings. However, any installation of Java comes with a really nifty library full of stuff like String-classes, data structures etc. You know, just like with C++ and it's runtime library (including STL).
There is still a difference. You can write, run and ship a C++ program without the STL. You can (and I have) write C++ in environments where the STL does not exist. You can't decouple C# and .NET, or Java and it's libraries, it just doesn't work. They ship as a package. If I am working in C#, I know for a fact I have the .NET facilities at my disposal, it's not something I have to think or care about. System.String will be there and it will have a primitive syntactic sugar element called "string" and it will support all the operations I need it to. Even if STL DOES exist in the C++ environment, is it a good implementation? Does it follow the standard?