No C++ coder I know (at least the true C++ coders, e.g. ones who have abandoned the 'Simplicity of C' mantra), find nothing of use in go besides a draconian single truth model of 'the best way to do things' similar to Python.
That is really opposite of the C++ experience, where you have millions of different patterns, techniques, and pitfalls at every corner. Those who enjoy this, are definitely not go enthusiasts.
Now I'm not saying ones better than the other, but I really doubt C++ core find Go attractive. Go was invented on the premise that 'We hate C++' or something to that regard.
I've written production C++ code for > 10 years, and I would definitely prefer to use Go for a lot of programs. Yes, it might be slower for some use-cases, it has some ugly parts. But it's also orders of magnitude easier to understand and the ability to just focus on the actual problem statement and build a solution instead of nerding out over language features is nice. I'm definitely not enjoying reverse engineering some smart SFINAE code, and writing any networking code with asio is also no longer very high on my "love to do things" list. I would rather deal with a few "if (err != nil) { return nil, err; }" statements.
But maybe it just depends on what "true C++ coders" means. If it's C++ enthusiasts for the sake of loving the language, I'm sure you are right. If it's "C++ users", because that was 10 years ago the best tool to solve a certain set of problems and the jobs where mostly C++, there's likely a few who are open to other tools to solve their problems.
> That is really opposite of the C++ experience, where you have millions of different patterns, techniques, and pitfalls at every corner.
Exactly right. And everyone who is serious about the mission and not “enjoying the process” is so so tired of c++ with its “millions of different patterns, techniques, and pitfalls at every corner” and c++ devs that need to be convinced not to do crazy shit just bc they can
When I finished coding C++ professionally the general sentiment of the team was to use less C++ than more. When possible, it was advised to treat it more like C but with classes. The goal was stability above all else and easiness to reason about (for everyone.) That's why when Go was announced its design direction made perfect intuitive sense to me and anyone that spent years writing mission critical C++ on large teams.
Yes but many organizations make agreeing on “using less c++” very hard these days. Google kind of managed with their strict review/readability process and pretty much mandatory tooling but it’s damn near impossible in many startups to do the same without a huge political capital to spend. Go takes that challenge from organization level and largely pushes it down to language level.
The loudest voices usually win. I've since exited the tech world but back then the people I surrounded myself with were committed to product and solving business issues in the cleanest way possible and not trying to prove to one another which one of us was smarter.
No C++ coder I know (at least the true C++ coders, e.g. ones who have abandoned the 'Simplicity of C' mantra), find nothing of use in go besides a draconian single truth model of 'the best way to do things' similar to Python.
That is really opposite of the C++ experience, where you have millions of different patterns, techniques, and pitfalls at every corner. Those who enjoy this, are definitely not go enthusiasts.
Now I'm not saying ones better than the other, but I really doubt C++ core find Go attractive. Go was invented on the premise that 'We hate C++' or something to that regard.