Прежде всего, IMHO как новичок в вашей среде разработки (IDE) имеет гораздо большее значение, чем компилятор.
Я думаю, что люди уделяют слишком много внимания выбору компилятора на раннем этапе. Хотя это не Java, C ++ должен быть переносимым.
Если программа, которую вы пишете, работает только с определенными компиляторами, вы, вероятно, делаете не то, что нужно, или можете немного потрудиться, чтобы сделать ее более переносимой.
Если вы дойдете до того момента, когда выбор компилятора окажет на вас значительное влияние на производительность, то вы уже отработали все остальное в своей программе, и вы в хорошем состоянии, а также вы достаточно продвинуты в своих способностях. Мы привыкли учить различия между компиляторами на довольно продвинутых этапах обучения CS.
Если вы используете машину на основе UNIX (Linux, Mac, реальный Linux), то в значительной степени GNU (g ++) - это путь, который достаточно стандартен. Если он достаточно хорош для компиляции вашей ОС, он, вероятно, достаточно хорош для вас. На Mac вы можете использовать XCode в качестве IDE, и он хорошо взаимодействует с g ++. В Linux некоторые люди предпочитают инструменты командной строки, хотя вам может понравиться поддержка Eclipse C ++, сегодня она намного лучше, чем 3-4 года назад.
В Windows все сложнее. Если вы можете себе это позволить, имеете доступ или имеете право на одно из бесплатных изданий (например, через школу), я думаю, что среды Microsoft Visual C ++ (или как их там сейчас называют) довольно хороши для обучения, и они используется в производстве. Я думаю, что на самом деле есть легкая визуальная студия с акцентом на C ++, которая могла бы стать хорошим началом. Если вы этого не сделаете, вы, вероятно, найдете дистрибутив Eclipse, специфичный для C ++ и включающий реализацию компиляторов GNU.