Ottime risposte, ne aggiungo solo una che deve essere menzionata:
Qt Creator: Questo IDE porta davvero l'interfaccia e le idee di Microsoft Visual C++ al livello successivo, se volete usare un IDE grafico. Le persone alla Valve lo usano esclusivamente e ha anche un ottimo debugger e tutto ciò di cui potreste aver bisogno - ed è incredibilmente veloce.
Non ho lavorato con Code Blocks, ma ho sentito un sacco di cose positive su di esso ultimamente.
Non usate né MS Visual C++ né Turbo C. Entrambi non sono portabili e rimanete più o meno sulla piattaforma Windows con quello. E Turbo C è davvero deprezzato. MS ha lavorato al porting di Visual C++ su Linux e lo ha annunciato alcuni mesi fa. Ma non credo che sia una scelta saggia per farlo. Qtcreator fa il lavoro meglio.
Utilizzate il compilatore e la toolchain GCC, è il miglior compagno che avrete ed è l'unico compilatore che veramente vi seguirà su ogni piattaforma.
Io personalmente non uso più nessun ambiente GUI, ne ho usati tanti e sono rimasto deluso da tutti. Ammetto che non ho lavorato molto su Qtcreator, perché quella cosa è diventata buona solo dopo aver perfezionato il mio modo di usare VIM e la shell e fare tutto ciò che riguarda il testo su un ambiente puramente testuale.
Se stai facendo programmi orientati alle GUI, Qtcreator è utile, credo, è solo che cerco davvero di evitare di scrivere programmi con GUI. Li faccio, ma trovo sempre che costruire una GUI sia una perdita di tempo e uno spreco di codice prezioso.
Questo spetta ai ragazzi della manutenzione. E per quelli a cui piace davvero lavorare con i clienti e a cui piace implementare interfacce "blu" o "rosate" o a cui piace mettere dei gattini, perché gli utenti lo vogliono.
Fanculo gli utenti. Questo è il mio motto.
Non mi è mai importato degli utenti. Voglio fare le cose per bene. Voglio dire che non è che odio gli utenti e che non scrivo interfacce GUI di tanto in tanto, è solo che non è in cima alla mia lista di priorità.
Mi interessa davvero imparare a fare le cose con i computer. E non spreco il mio tempo ad aiutare le persone ad evitare questo. E fare qualcosa di così facile che anche gli stupidi possono usarlo. Il risultato di ciò è che solo gli stupidi lo useranno e questa non è la base di utenti che voglio. E questo è divertente con cui interagire. Hai mai dovuto interagire con gli stupidi? Ho fatto molti sforzi nella mia base di utenti per renderli migliori di così.
La base di utenti era molto più intelligente quando dovevano ancora conoscere la shell.
E come potrebbe essere, lo potete trovare su YouTube: