
Andrey spaketh:
Competition is good, on that I agree with you. But I don't think MSVC is the compiler that drives the competition currently.
Niall respondeth:
I personally think you're very wrong on this.
<snip, discussion of C++ compiler ecosystem and MSVC2015> I really have to agree with Niall on this. We use gcc, clang, and MSVC to compile a common codebase. The current project is fortunate enough to be able to use the "latest-tools". The product will deploy using gcc/Linux. I do most of my development using MSVC. This is because: *- The IDE is fast-and-snappy (MSVS2015). (Yes, IMHO MSVS2010 and 2012 were unusable, MSVS2013 was ok). *- No better alternative exists for workspace refactoring, code-completion/intellisense, and the available "plugins" are good (colored error-output, etc.) *- The integrated debugger is fantastic (fast, powerful, and accurate), and they have invested lots in profiling and multi-threaded debugging support. *- MSVC generates useful and interesting warnings/errors, sometimes different or complimenting to gcc and clang (our codebase generates no warnings nor errors on any of the three compilers as a prerequisite for merge-to-master). *- The C++ Language compliance is good, albeit lagging for some C++14 TMP, and some hiccups with Boost-lib support (currently being discussed on other threads). *- Regarding "driving-the-competition", their experimentation with modules and resumable functions is very sound and interesting, and may significantly advance the C++ language standard and change how the community solves problems. *- I've spoken directly with a number of the MSVC compiler and library team members over the last several years, and concluded that they are really smart, have very substantive insight, and are very active in supporting and driving forward the C++ language standard and coding community. (Yes, this is likely "more-true" in the last several years as compared with previous eras, but I see it as a positive trend.) So, if the discussion relates to "drive the competition" or even "positive for the C++ ecosystem", IMHO the MSVC compiler is quite significant. I'm not a "fan-boy", but merely want the best tools. I can write the greatest amount of high-quality C++11/14 code per unit-of-time using MSVS, so I use it. One of the biggest pain-points is that the NTFS file system is so slow. Others on the team use SlickEdit, vim (no IDE), Eclipse, are experimenting with CLion, and I also spend a lot of time in QtCreator. I realize this "mixes-the-discussion" because the compiler is not the IDE, but our codebase targets MSVC because it's a good compiler, and because the IDE is so strong. Lastly with regards to, "driving the competition", I've come to develop a very deep appreciation for "compiler-attitudes" and for that which is intended (or ambiguous) in the C++ standard, so I really do think options among these tools-and-compilers is positive for the C++ ecosystem. For example, it's been mentioned that gcc is "eager" to parse templates, while MSVC is "lazy", and there are pros-and-cons for the implications and how to think about that which might be "preferred" (e.g., IMHO good-for-the-ecosystem). Further, clang and gcc seem to be competing-with and mimicking each other (in different ways), so it's nice to see MSVC as a "fresh-approach" or alternative. --charley