Para coisa muito básicas, o DevC++ serve. O Visual C++ Express Edition já é melhorzito, aconselho...
No entanto, Programo melhor em Linux, usando o Kdevelop.
Cumps
"Deus" o livre de ir para o Visual C++. O facto de eu ter visto o Hello World do VC++ levou a que eu nunca mais quisesse pegar em C/C++ durante anos, e agora vejo que não é tão difícil quanto pareceu na altura x|
Naturalmente que cada um tem a sua opinião, e vai tentar puxar para aí. Eu comecei a programar com o QBasic no MS-DOS, usei a tecla F1 com alguma frequência, aprendi inglês, e, apesar de não ter sido propriamente a melhor linguagem para uso "real", não me arrependo de ter começado assim (dada a idade com que comecei, qualquer outra coisa seria complexa demais). Usava a interface do QBasic, e isso bastava.
Agora, ainda não uso IDEs nenhumas. Tudo o que é feito para a faculdade em C, C++ ou Java, faço em Linux com o Vim (editor de texto). Até acho que começar com IDEs dá um trabalho extra desnecessário, que é obrigar a pessoa a aprender não só a linguagem, como também o modo de funcionamento da IDE.
Talvez dê jeito usar as IDEs no futuro quando for para programação mais à séria, mas para já (e especialmente para aprender), é bem melhor fazer tudo "à pata" e perceber o que se está a fazer.
No Windows, usava o Dev-C++, e uso essencialmente o Notepad++ e o gcc fornecido pelo Dev-C++. No Linux, uso o Vim e o gcc/g++.
De resto, quanto à melhor linguagem, não concordo quando dizem que ele devia escolher a que gosta mais, dado que ele provavelmente ainda não sabe o suficiente para poder decidir. Se ele vir os ponteiros de C e as classes (e a quantidade brutal de
resources disponibilizados) do Java, é bem provável que escolha o Java, por não saber as vantagens (e desvantagens) de cada um.
E pessoalmente, também não sou a favor de começarem a programar imperativamente em linguagens com objectos. Aliás, tal como o Aparício disse, o Java já faz de origem muitas das coisas que dá jeito aprender a fazer. Depois tudo parece magia quando se programa
Acho que isto depende inteiramente do objectivo e da dedicação (e capacidade de aguentar e não desistir com os erros). Se é para aprender a programar profissionalmente, então não me parece que começar com Java seja boa ideia. Se é programar para fazer coisas giras, então há coisas mais específicas para isso.
edit -- juntei este tópico ao "Como iniciar na programação", para permitir uma referência futura mais fácil.