Eu não utilizei C# ainda, mas o que sei é que faz parte da plataforma .NET, é orientada para objetos e certamente menos poderosa do que C++, isso é comprovado pelo fato de que nem ponteiros têm mais, ou seja, a liberdade de lidar diretamente com a memoria já era. Isso não quer dizer que seja uma liguagem ruim na qual não possamos fazer nada, certamente pode-se fazer muita coisa. agora, concordo plenamente que a comparação com java seja injusta, embora eu não goste muito de java (prefiro C++), o fato de ser uma liguagem de programação livre conta muito.