Re:C++ Core Coroutines Proposal [pdf]
by therockhead on Friday September 21, 2018 @07:01AM
(#18038757)
> Go is not an option until they get their story straight with 2.0
Would you mind expanding on this point? Where I work, we do lot of C++ for the reasons you described but I have started to learn Go to see if its a suitable replacement.
From my point of view, no generics, error handling boilerplate, no real enums (although there is a kind of workaround).
There are other issues regarding tooling, specially for the use cases that I care, like dynamic loading into other platforms (JVM and .NET), GPU programming and graphical debuggers.
So naturally many C++ dev did not felt at home with Go.
https://commandcenter.blogspot.com/2012/06/less-is-exponenti...
Those pain points are the biggest roadmap points on a possible 2.0 version.
Go is not an option until they get their story straight with 2.0.
Swift is nice, but really it will never go beyond being an Apple platform language.
Native/Kotlin is doing its baby steps.
D seemed like a nice alternative, but they are such a small community without any big corporation support, that the language might already have lost its opportunity.
Rust would be the best alternative, but it still lacks the tooling integration story regarding IDE, graphical debuggers and OS vendors support.
Yes, no one is doing pure apps anymore in 100% C++, Java and .NET are slowly migrating to bootstrapped runtimes, but the language is not going away for the foreseeable future.
Kids are learning to program on Arduino devices using C++.
Microsoft already has some ongoing Rust projects, but Visual Rust is not yet here.
AAA Games, compilers specially LLVM and GCC, OS, HPC, Fintech, deep learning, GPGPU shaders, GUI composition engines, IoT, medical devices, car infotainment systems, VFX software might be a niche, but it is a very big niche.
One of the good things about polyglot development is that one doesn't need to silo himself/herself as developer X and be worried if language X is suitable for full stack development across all domains of computing.
EDIT: typos