First off, I know that this question is asked a lot. I have looked at several threads and I end up being more confused than anything because usually the thread question is vague so the answers are vague as well (ex - What is a good compiler to use? - followed by a list of compilers people recommend depending on who likes what).
I would like to know which editors/IDE would be best suited for a beginner, and then what I would like to learn in the long term (2 separate questions). I will try to be specific and list my priorities in order of importance.
I will be using Windows XP for learning. First a little background. I want to learn C++. I already know Java as far as syntax goes but only have a few years experience using it (nothing professional). I have used a few computational math / physics programming languages such as MATLAB, IDL, MATHEMATICA, MAPLE. I have done a lot of computational programming, but I want to switch over to software engineering.
I would appreciate an answer to two questions:
A - What is a good compiler and IDE/editor to use to learn C++?
Preferences:
1 - It needs to be free in the cost sense
2 - Easy to learn and use (probably somewhat minimalist)
3 - It NEEDS a good debugger!
4 - Very standard compliant (Compiler efficiency isn't important to me right now)
5 - Very short learning curve
I would like just a simple environment to learn the language in the short term.
B - What is a good IDE/editor for me to use long term?
Preferences:
1 - It NEEDS a really good debugger!!! Can't stress this enough.
2 - I would actually prefer a steep learning curve if it makes life a lot easier to code especially large programs.
3 - I like using a lot of key short-cuts. I am very annoyed to have to go through lots of menus or have to rely heavily on the mouse. On the other hand, I do like having the mouse as an alternate option, but probably only for very uncommon tasks.
4 - I am biased toward IDE's for the reason that they can collapse code, and present information more visually so I can find what I need a lot easier without having to hunt through too much code. If a good editor can collapse code and make finding code easier I would be willing to lose my bias.
5 - IDE/editor needs to extend to many other languages (I don't want to learn one for every language I use).
6 - I would like it to be free, but that isn't necessary.
7 - Start up time doesn't really matter to me.
Sorry for such a long post. I wanted to be very specific so that an expert could directly answer my question without stirring a holy war. I would like to see the differences between them that apply to my preferences. I would greatly appreciate any advice or information that you could give me that helps me make a decision.
I really don't want answers such as:
Use such-and-such because that is the one I like the most.
That really doesn't help me. I am sorry to be picky, but I have gotten lost or very little help in the related threads that I have read and I don't want to have to try more than a few different options to find what I would like the most.
EDIT
I forgot to mention a few things. Windows XP is for the short term. I currently have a dual boot and know how to use linux including basic command line scripts (though I am a bit rusty). I have used several editors (such as emacs to a basic level) and several IDE's that are more tailored for the languages I do know. My experience has been the easier it is to learn an IDE/editor, the harder it is to be efficient and have a fast workflow later on (unless the interface is very highly customizable or key shortcut oriented).
I did learn C++ to a very basic level, but it has been too long and I can't remember it. I really just need a short term solution for just a few months to learn the syntax very well.
Please let me know specifics about an IDE/editor such as how strongly it performs to my criteria. I also would really appreciate comparisons and contrasts. The more specific and detailed, the better.