3 ms·
I can somewhat echo some of the statements here and provide my own experience that is similar. I spend a decent amount of time writing decent C++ code. My frie
by ddtaylor 2y ago
I can somewhat echo some of the statements here and provide my own experience that is similar.
I spend a decent amount of time writing decent C++ code. My friends in other parts of the industry are writing certainly better C++ code than me because they are doing it in environments that are more constricted in various ways. In either case, I do spend my time catching up a bit and would consider myself a competent C++21 programmer in some ways.
My experience and my conversations lead me to understand there is so much left on the table with even the most basic implementations. When I implement it correctly in C++ we get close to some of the theoretical limits for the hardware for some workloads, compared to something that is literally 1% as fast running in NodeJS.
Wit that said, for so many situations I cannot justify the time and complexity to use C++ for many projects. At least for the stage most projects are in. In theory this optimization can happen later, but it never really does because the horizontal (or sometimes even vertical) scaling kicks in and we're all just willing to throw a few more dollars at the problem instead of re-engineering it. Sure, some of the really big companies like Netflix find a decent reason from time to time to invest the engineering time squeeze out those numbers, but it's becoming the exception and not the rule.
- Thorrez 2y ago>C++21 There's C++20 and C++23. No C++21.
- ddtaylor 2y agoSorry, I meant to type C++11
- spookie 2y agoI've also found that not having some optimization mindset from the get go limits your product to achieve only a local maxima of performance in the end. It might not even be a good local maxima. It's best to have at least some optimization considerations from the start. I'm saying some because too much is a problem.