MS compiler generates much better binaries imho - (according to my experience) it compiles dramatically faster (kinda 3-4x), the generated binary tends to be "much" faster (like 15%) and a little bit smaller also (like 20%). So, imho it generates better binaries overall, and I think one can find plenty of benchmarks that backup my experience here.
I never found a single undecipherable error in MSVC, although I agree that GDB text feedback is better.Really? I've only used MSVC++ a few times, but I never found it terribly good. It kept throwing cryptic errors at me and took me far longer to debug anything that it ever did on a Linux system.
I'm aware that Eclipse is used professionally for Java development, however, I don't know a single professional that uses Eclipse CDT as its main C++ development environment.I half agree with you there. Having Linux dev tools like Visual Studio for *any* language would be great. But to call QtCreator, CodeBlocks, Eclipse, and Netbeans "useless" is a pretty gross exaggeration. You are aware that Eclipse is used heavily in the professional world for development? No, the Linux IDEs are not as polished as VS, but they're pretty good and get the job done very well.
In fact, 99% of all C++ professionals that I know uses MSVC for C++ development - there's one guy that uses Anjuta.
The most important tool Linux needs is a decent and modern C++ IDE. Forget the other languages.
I don't know C#, but once i fired up Visual Studio, looked a basic C# example (in wikipedia i think) and i managed to make a nice graphical calculator in a matter of 30 minutes. Not even in Python someone can achieve this kind of ease and productivity on Linux, first you have to choose either tkinter which is extremely simple and ugly or something like Qt which has a nice designer, then you need to learn the basics of Python itself, learn QtDesigner, design, convert, edit, if you made mistakes, have to go back and convert again. It takes at least 30+ hours to produce your first graphical calculator in Python if you have only C++/Java experience. Not to tell that the performance is like 300 times slower than C# on Windows, it may not run on other distros, because some have Python v3, some v2, almost certainly it will be necessary to install dependencies, and the list goes on.
On Windows, you just fire up MSVS, click, click, code, click, and ta-daam: You end up with a 'binary' that will look consistent and will run properly on practically every windows install, and even better, the user (in most cases) will not even know that you are a completely noob and programmed using a beginner's language.
Of course, and for learning I recommend a text editor with a good syntax highlighting (maybe basic autocompletion also).Or you could learn to use the tools available (GCC is pretty much the de-facto standard C compiler -- hardly what I would call "obsolete"). C++ is a *language* not an IDE, and not a compiler. You can learn the language using whatever tools you want. In fact, learning C++ by using a basic text editor and a command-line compiler might teach you *more* about C++ than you would learn using a giant IDE that silently corrects your mistakes.
On Windows, as a C++ programmer, i feel "welcome", it's like going to a place where people help you, if you made a mistake, just try again, it's simple and easy, it will help you to do everything, and I don't think the suggestions are evil, because they actually help me to code faster and better, using less brainpower .
On Linux, it's like military school, if you don't have the basics, which are pretty high already, you don't even begin, you're not welcome, you have no friends, no one will help you, you need focus 100% of the time, because the entire thing has to be in your head, stop a minute and you will get lost.
Even worse, Linux 'commanders' seems to be assuming that we need more advanced tools, we don't even have basic visual feedback, but we need an ultra-advanced programmable debugger, we don't have shoes to walk, but we need a spacecraft.
I'm telling you guys this is wrong! Bring the noobies! Make tools that allow people to begin producing simple programs easily, make them like the Linux, some of them will eventually become programmers and will take the tools to a higher level. I thought this is what open source was about. Now i see that it's becoming an exclusivist group of people that learned the hard way something different.
An over-exaggerated analogy:
We're visiting friends on the other side of the city, your options are:
Windows: Bicycle, Car, Bus, Airplane
Linux: You can choose one of the 100 models of square-wheel bicycles, or you can enter the space program and begin to learn how to pilot a spacecraft.
Man! Lemme use a car or a bus, lemme achieve my current objective and if I ever need to go to the moon, then I'll make a spacecraft. It's another problem.
It's like thinking about colonizing mars when we don't even live properly here on earth. It's a nonsense, you solve the problems when they comes up, not target the problems that seems to be ahead, if you can't even reach them.
Sorry if i sounded rude or something. I just think that the open source community is so chaotic and unorganized, it's extremely divided, a lot of capable people are just losing their time developing things that will never get any attention.
We have dozens of major distros, hundreds of forks, and thousands of "unnofficial" sub-versions, and almost every version has its own peculiarity, and it's not only a collection of softwares, any decent distro has its own scripts.
We have dozens or hundreds of options for almost everything, the problem is that their quality varies dramatically, and almost always the best one isn't good as the middle-quality proprietary option.
If there were a kind of artificial intelligent software merger, then we would have the best softwares ever, because it would merge all the 78921323 distros and make a single very user-friendly one that runs on any hardware and installs any prepacked software. Merge the 789343 office suites and make a single decent one. All the 7893213 C++ IDEs, all the Debuggers, Compilers, etc...
Sum the features of all opensource vector drawing tools, and you'll end up with a list that surpasses the best proprietary software, the difference is that it's one software, very tested thus stable, against tens of unstable and used-only-by-its-creator softwares.
Its a matter of Divide and Conquer: Go on Microsoft, we did you a favor and divided ourselves as an effect of our selfish behaviour. Now you just have to conquer. - [facepalm] Ouch... forget that, for a moment I forgot that you've already conquered the entire world and now is just fighting some reminiscent diehards.