That's how programming works. You figure out how to do something with some language and then you do it. STL has a logic and it's actually quite easy to understand if you spend some time learning it. What I find funny is that people are never happy about anything, there is always something you could do to "improve" a language. We even have these improved languages like Rust, Go, Python etc. already, so it's difficult to understand why people don't use them. I mean some do, but you don't hear them talking about how much easier it is to do something, because it's not about the language, it's the game/program/whatever you are trying to create.Then task them with writing a simple program that creates a vector<int>, adds a few numbers, removes one, and loop over the rest and print them with whatever function they like.
I'd bet they'll get as far as defining it, but fail to figure out how to do almost anything with it.
STL takes forever to compile, is very complicated under the hood so it makes debugging difficult, and was not designed for games, so it doesn't have the reliability, and speed that really good programmers can get. Also C++ templates are the cause of this meme. If you don't use templates, and use unity build, a program of any size will compile in less than 10 seconds, instead of hours, and days in some cases.
"We even have these improved languages like Rust, Go, Python etc."
I don't use Rust, but from the comments I have seen, from game programmers who gave it a good try, it is not productive to use, and they don't need its memory safety features, because they aren't junior programmers. Python is a high level language that is good for prototyping. You can get a lot done fast thanks to its libraries, but the programs run very slow, which is bad for the user experience. I tried learning Go and liked its style, then I remembered it uses garbage collection, and stopped learning it. Garbage collection is not useful for games, because players will notice your program stuttering, when the garbage collector randomly decides to release unused memory.
IMO all people ever really needed was C. They just needed to make better libraries for it, and make it easier to compile, so it is more accessible to new users. Hopefully an AI will be created that can sort out the mess.
Edit:
If any9ne wants to learn the simple way of C programming, watch Casey Muratori's first 20 or 30 youtube videos to get the main ideas: unity build, using bat/shell files to build programs, and his style of programming. I think he calls it compression oriented programming. Basically, he doesn't design everything upfront, he lets the program design itself. So he solves problems one at a time, and if he finds himself solving the same problem several times, only then does he make a general solution. Also, dig around the Handmade Hero forums, there's some good info there.
This is also very helpful.
https://www.gingerbill.org/series/memory-allocation-strategies/
Last edited: