So are you saying the C++ STL under Windows is poorly implemented and causes sudden executable growth?
(Admittedly, std::max has performance problems under VC2010 but that's kind of old)
Software bloat has nothing to do with the runtimes. It's how people use the runtimes that's the problem. Saying that the runtimes cause software bloat is a massive generalisation.
When I use the MSVC runtimes my software isn't bloated. I compile the same code under OSX and Linux and it also isn't bloated there. In fact, under OSX it uses far more RAM, and I have to bundle along dylibs with the executable inside the .app itself in order for it to be usable. This makes my OSX app far far larger than my Windows binary, which just relies on the MSVC runtimes.
Interestingly, my software doesn't crash either. If the MSVC runtimes were "bloated and buggy" then I would be crashing all the time, but my programs don't....
The executable format under Windows was originally designed to be portable - hence PE (portable executable). Just because they abandoned the other platforms (outside Intel land) does not make the binary unportable.
Software bloat has nothing to do with the runtimes. It's how people use the runtimes that's the problem. Saying that the runtimes cause software bloat is a massive generalisation.
When I use the MSVC runtimes my software isn't bloated. I compile the same code under OSX and Linux and it also isn't bloated there. In fact, under OSX it uses far more RAM, and I have to bundle along dylibs with the executable inside the .app itself in order for it to be usable. This makes my OSX app far far larger than my Windows binary, which just relies on the MSVC runtimes.
Interestingly, my software doesn't crash either. If the MSVC runtimes were "bloated and buggy" then I would be crashing all the time, but my programs don't....
The executable format under Windows was originally designed to be portable - hence PE (portable executable). Just because they abandoned the other platforms (outside Intel land) does not make the binary unportable.