Hacker News new | past | comments | ask | show | jobs | submit login

C++ is being adding basically both the kitchen and the sink for years now and still it hasn't broken anything. If anything, lots of warts have been removed now. This whole reasoning doesn't hold when the ISO C standard adds half-assed, optional rubbish to the C standard only to deprecate it the next release.

The ISO C can't create a newer, saner C string library or a more useful time library, but it finds the time to devise and release crap like VLA, threads.h or _s functions. Meanwhile, C++20 has stabilized std::chrono::tai_clock, which works on all major operating systems, and does not break anything.




> and still it hasn't broken anything.

Well, when you explicitly throw ABI backwards compatibility out the window it's far easier to make that claim.


There's plenty of good additions in C and bad additions in C++. (Also I object to the assertion that VLAs are bad! They are an improvement to function signatures.)


> I object to the assertion that VLAs are bad! They are an improvement to function signatures.

The main issue is that they are not restricted to that. They went overboard and basically made alloca() part of the language, causing all kinds of bugs when a newbie (or a senior, too) mistakenly uses variables instead of defines for an array size.

If they were just an annotation, it would not have been complaining, even though they would still remain quite unusable in practice due to C++ not supporting them (that's why they're seldom used in public headers).


C++ is getting timezone database access in stdlib soon too




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: