This tutorial at
http://www.learncpp.com/ (which I think may be one of the best tutorials by the looks of it, though I don't know C++) had some suggestions. It said that an "an Integrated Development Environment (IDE) contains all of the things you need to develop, compile, link, and debug your programs." I am new to programming. But I think compilers and IDE's are the same. The page says you should really get and IDE, and the website I'm on explains why, one of the reasons is that most have a good, programming-oriented notepad for you to write your programs.
The website points out the benefit of this
"Second, we need an editor. It’s possible to write a program using any editor you want, be it Window’s notepad or Linux’s gedit. However, we strongly urge you to use an editor that is designed for coding.
A typical editor designed for coding has a few features that make programming much easier, including:
1) Line numbering. Line numbering is useful when the compiler gives us an error. A typical compiler error will state “error, line 64″. Without an editor that shows line numbers, finding line 64 can be a real hassle.
2) Syntax highlighting and coloring. Syntax highlighting and coloring changes the color of various parts of your program to make it easier to see the overall structure of your program.
3) An unambiguous font. Non-programming fonts often make it hard to distinguish between the number 0 and the letter O, or between the number 1, the letter l (lower case L), and the letter I (upper case i). A good programming font will differentiate these symbols in order to ensure one isn’t accidentally used in place of the other."
and IDE also has other useful and time saving things such as described
"Note that steps 3, 4, 5, and 6 all involve software. While you can use separate programs for each of these functions, a software package known as an integrated development environment (IDE) bundles and integrates all of these features together. With a typical IDE, you get a code editor that does line numbering and syntax highlighting. The IDE will automatically generate the parameters necessary to compile and link your program into an executable, even if it includes multiple files. And when you need to debug your program, you can use the integrated debugger. Furthermore, IDE’s typically bundle a number of other helpful editing features, such as integrated help, name completion, a class hierarchy browser, and sometimes a version control system."
I've heard of those other compilers, and they may be good. I too dislike how Microsoft tries to put their stamp on everything and replicate things to monopolize the industry. Sometimes these replications are even bad. But Nathandelane is right, not all Microsoft creates is bad, and I don't know if any of it is really bad (though I do hear things like C# are bad). But I only hear these things. The tutorial uses the Microsoft Visual whatever compiler, and also uses the cross-platform IDE Code::Blocks . I'm just browsing to see if I'd want to learn C++, so I'm not expert yet.
good luck.