This goes for every code line that one writes, most of the time backed up by urban legends and popular beliefs instead of profiling the code.
Whereas other programming languages cultures, tend have a more meaningful approach to optimizing software.
To be fair, he shamelessly bragged about getting the job through nepotism.
For some applications, manually tending to the basic plumbing is a necessity and not a burden. I.e high performance applications tend to be memory bouns.
I agree that C++ is not a right tool for every job and that as a language it has issues. But those issues are not about verbosity nor about manual memory management - the latter is rather a feature.
Also, that library seems to run on a quite large subset of common platforms. I don't think there is a high level language with as painless integration to as many platforms as C++ does.
The thing with multiple platform support is that it's a really dirty realworld-bound problem. That is, no matter what one does, there will be incompatibilities and unexpected bugs. The best anyone can do, is to pick a platform with as wide userbase on the platforms one wants to support and use that if one wants to minimize headache caused by problems between third party components.
There is no joy in high level abstractions if the execution stalls on implementation related bugs.
It's hilarious that nobody recognizes blatant trolling on HN
You don't have to write these things yourself, but if you're trying to eke out every last drop of performance (either at runtime or build time) then you have the option to do so.
Having been coding since the days of Assembly being a normal language for business applications, I never seen a programming community so obsessed with micro-optimizations per code line, (without using profilers, because programmer knows best), like the C one.
And by correlation the C sub-communities from C++ and Objective-C ones.
Other communities think first into getting their data-structures and algorithms right, use the profiler and then optimize.
Personally, I have my own custom hashmap which provides a 10%-15% performance improvement over the std one for my use case, and I also have custom mutex/thread code similar to the one listed in this library because it provides better performance when no other thread has the lock, and avoids needing to compile/link against the boost equivalent which adds seconds of compile time to any file that includes it.
These are all optimisations that I have tested and profiled though.
The problem I see is when doing applications where doing the work in 100ms or 1s doesn't matter at all.
Yet one will be discussing about bounds checking impact, if i++ or i = i + 1 generate the same code and many other micro-optimizations.
For the type of work I do, I always embraced the STL and never though a second about those issues, yet I was able to fulfill the expectations.
I has been written with so solving so many concepts everyone is trying to solve, but don't solve at ALL.
Just open your eyes the solution is right under your nose.
Stats for SourceForge (maybe out of date): http://www.statisticbrain.com/computer-programming-language-...
Its 2016. There are a number of performant cross-platform systems/languages that have good built-in facilities for these basic plumbing problems.
C++ is an outdated language, and the entire mindset and ecosystem is wasteful and constantly reinventing the wheel. C++ was still sort of relevant when I was playing with it in High School in 1994, but even then it was dated in most ways.
These are some very poor software engineering choices.
Educate yourselves about the Nim programming language.