Hacker News new | ask | show | jobs
by inetknght 2716 days ago
Nothing stops "everyone" from using the features which suit library developers.
3 comments

Indeed, but as a large, general-purpose system programming language there are many features that support certain important and special cases, with no application of the language, even library development, using them all.

As an example, we needed locked containers, so wrote a little template and specialized it over the couple of containers we needed. It supported just what we needed. If this same functionality were extended to the standard container library it would not only have need to be thought out to handle every non-locking case, but would have either needed a lot of repetitive boilerplate (and repetitive specializations) or else additional hair that was not worth our while to learn/use. We were able to avoid the problem by adding some documentation in the local style guide.

Except ever increasing time to learn all the language features and associated best practices.
While true on the face of it: I haven't had the need to learn many other languages so I haven't had the need to learn the best practices of them.

Use what you need, learn what you need. Don't pay for what you don't use :)

You can't in C++ because learning the language takes 10 years and is a never-ending story.
Any true language is ever evolving, even spoken languages.
Not all languages are the same, C++ is vastly more complex than many other programming languages (arguably all of them). The only reason to keep learning C++ after years of practice is the sunken cost.