Enough! It's time to take the plunge!
From my armchair, it looks like I'll need to pick:
* compiler * build system * linter and other tooling * standard libraries
I am all for standing on the shoulders of giants... I want to build non-crappy software that does meaningful things with the best tools.
What pieces should I put together?
FWIW, I'm seeing great threads on learning C++, but don't see a toolchain convo. Feel free to correct me!
- https://news.ycombinator.com/item?id=23380537 - https://news.ycombinator.com/item?id=20252926 - https://news.ycombinator.com/item?id=16535886
Go with a gcc/g++ based toolchain, it has a few warts as most do, but it is flexible, well known, documented online and most every library and system works with it. I use gcc/g++ on everything from micro-controllers to servers using C/C++ and it works and has good support. I personally still like makefiles over CMake, but that is personal and nothing is wrong with CMake and many new solutions pick CMake for their build process. Pick a decent IDE that makes your life easier, I use CLion for all server/desktop and on microcontrollers I use either CLion with makefiles or in some cases Atollic Studio since it is well integrated with STM toolchains.
Last point, in reference to C++ if you are learning/planning to use it, stick with modern C++ wherever possible, much of what people complain about C/C++ is really just their own lack of knowledge or bias to what the language was 30+ years ago.