4 ms·
Then I suppose you don't care about: * Performance * Support for localization (as the format string and positions of values to format differ between languages
by einpoklum 2y ago
Then I suppose you don't care about:
* Performance
* Support for localization (as the format string and positions of values to format differ between languages).
* Code reuse & dogfooding - the data structures used in iostreams are not used elsewhere, and vice-versa
* C and OS interoperability - as you can't wrap a stream around a FILE* / file descritor
* bunch of other stuff...
iostreams work, but are rather crappy.
- pjmlp 2y agoI care about performance, when it actually matters to acceptance testing. The less C the merrier. If you care about correct use of localisation, standard C and C++ libraries aren't really what you're looking for, or even C and C++ to start with.
- wakawaka28 2y agoC and C++ are the bedrock of operating systems with the best performance and extensive support for all languages. The only reason why iostreams are slow is because of its incompatible buffering scheme, and the fact that C and C++ need to stay in sync when linked together. And that brand of slow is still faster than other languages, except sometimes those that delegate i/o to pure C implementations.
- pjmlp 2y agoHistorical baggage, they weren't the first system programming languages, got lucky with UNIX's license allowing for widespread adoption, and won't be the last one standing either.
- wakawaka28 2y agoConsidering that they are evolving, I think they are more likely than not to stay standing. There might be other similar languages developed in parallel, but after over 30 years of whining C and C++ are still popular. I don't expect that to change.
- throwaway2037 2y ago> If you care about correct use of localisation, standard C and C++ libraries aren't really what you're looking for, or even C and C++ to start with. What do you recommend instead?
- PaulDavisThe1st 2y ago_("some text") ... aka gettext and friends.
- maccard 2y agoQT, unfortunately.
- throwaway2037 2y agoWhy do you "unfortunately"?
- maccard 2y agoIt's like using a sledgehammer for a picture hook. I think QT is a great tool, and it solves this problem nicely, but it's a full blown framework, and if you're already using something else - particularly if it's something "light" like SDL, or just a platform specific library like Win32, it's an awful lot to pull in (plus compile times, licensing, etc).
- throwaway2037 2y agoIf you are using SDL, what is wrong with GNU gettext()?