I am an experienced Go programmer, but I have never written much C++ (or C). To me it looks like there are a million ways to set up a dev environment for C++ but none of them look very appealing at the moment. This is a big change for me because Go is very opinionated and there's one right way to do things, which I kind of like. This is compounded because a lot of guides I see online are Windows-centric, but I don't use Windows, and I don't really like Visual Studio either.
So, I'm interested in learning the most "canonical" way of developing in C++, and after I am familiar I plan to branch out to find a way that I like.
What should I use if I want to start in C++ and learn the usual way of doings things (on a Mac/Linux mixed environment - no Windows)? How should I manage building the project, CMake? Whats a typical workflow for setting up a project and organising it?