And if you're working on a cross-platform project, it's probably using CMake or something similar. The development cycle of `cmake .. && make` is simple and easy. As far as I could tell, Windows builds were not as straightforward. It's been awhile so maybe they've improved it, but I would hardly call their developer tools "unequaled"
I just want to install Clang in a straightforward manner, call the above-mentioned `cmake .. && make`, and have an exe waiting for me. Is that possible now? It wasn't in the past which is why I'm highly suspicious of your "hands down developer friendly" comment. Windows always seems to be the platform that has to do things slightly different, and has offered the most friction when developing projects that run on OS X, Linux, and Windows.
EDIT: I would also like to add that most CI services offer at least G++ or Clang++. AppVeyor seems to support Windows builds with MSVC but isn't free. This is yet another hindrance to smooth cross-platform development.
So in that regard, yes their IDE is one of the best, but their platform sort of diminishes the developer-friendliness of the whole experience when developing on Windows.
I need to check out CLion again, haven't tried it since they released one of the first versions.
Have you ever used other ones? Some of them on the embedded space don't even support C++11!
Ever you ever tried cmake besides BSD, GNU/Linux, Windows?
There are lots of other platforms out there, have you evaluated the experience on those platforms against Windows?
I'm speaking mostly from a gamedev perspective, I don't write embedded C++. Same story with CMake, only used it on platforms where someone would/could play a game.
Does Windows offer a superior development platform when doing embedded work compared to BSD/Linux/OS X?
I prefer to work in a general text editor alongside simple command line build tools, which probably explains my dislike of most Windows dev tools.
Except there are quite a few commercial compilers to choose from, not only those three.
> I'm speaking mostly from a gamedev perspective, I don't write embedded C++. Same story with CMake, only used it on platforms where someone would/could play a game.
Sony and Nintendo SDKs are Windows based.
> Does Windows offer a superior development platform when doing embedded work compared to BSD/Linux/OS X?
The majority of the embedded vendors SDKs are Windows based and they have their own compilers. Not everyone is doing gcc and clang forks.
Additionally, we're shipping a number of versions of Clang in VS (targeting Windows, targeting Linux/IOT, targeting Android/iOS) and contributing to the community. We're looking seriously into CMake support and contributing back to the community. And the VS Code editor runs on Unix-based OS with IntelliSense, debugging, etc.
So yes, VS has improved a lot, but we still have work to do.
I'd love to chat with you if you have questions. My email is firstname.lastname@microsoft.com. My full name is on the blog that I linked to but I'm really not that hard to find online.
And I've got questions for you if you use Clang and have any interest in Windows. Send me mail and we can maybe set up time for a phone/Skype call.
However, C++ is one of my favourite languages (minus C parts), that I still reach for private projects and when I need to step out of .NET and JVM.
Not sure if I am the one you want to talk to, as I do find Visual C++ has actually one of the best supports for C++98/11/14 among commercial C++ compilers.
I do spend most of my developer time on Windows actually.
cmake .. && cmake --build . --config RelWithDebInfo works for me.
cmake -G Ninja
It'll speed up your build by a lot in most cases.