Permettez-moi de le dire de cette manière:
Je l'ai pris et passé avec un de 94%, le Sun Java Certification sans jamais avoir compilé une ligne de Java (c'était il y a neuf ans). J'ai été en mesure de le faire, parce que je savais que C++ très bien.
Sur mon premier travail professionnel, j'ai été embauché en tant que testeur. Le deuxième jour, on m'a dit que je pouvais le programme à la place de test, si j'ai appris assez PowerBuilder pour être utile-dans deux semaines. Parce que je savais que C++ si bien, PowerBuilder était facile.
C++ est dur, mais si vous l'apprendre à bien lire de Stroustrup Le Langage de Programmation C++ , faire les exercices trop, la lecture de sa Conception et l'Évolution de C++, lire le C++ Faq et le Meyers livres et Herb Sutter livres, lire comp.lang.c++.modéré, à lire Coplien de l' Avancée de la Programmation en C++ de Styles et d'expressions idiomatiques n'importe quel langage OO vous souhaitez code -- si vous l'apprendre, tous les autres OO langue est facile.
L'apprentissage de C++ est une excellente préparation pour l'apprentissage du code. (Et vous deviendrez un juste programmeur C trop, mais lire K&R pour obtenir pour être un bon programmeur C.)
Oh. Et le C++ est vraiment amusant de programme, beaucoup moins verbeux que Java, et beaucoup plus de flexibilité. Vous êtes vraiment en charge, de ne pas l'IDE, ou la langue. Vous pouvez tirer sur vos propres pieds, mais vous serez en charge de le faire. Et lire Alexandrescu du livre une fois que vous savez
modèles, il va étonner et de dumbfound et de vous faire plaisir.
C++ est amusant. Lire le "Curieusement Récurrents Pattern Template": il ressemble à ceci
template< class T> struct base {};
struct derived: base< derived > {};
Oui, tu as bien fait: c'est une classe qui dérive à partir d'une base qui est basé sur un modèle sur le dérivant de la classe. Maintenant que sonne obscur et stupide, mais il y a beaucoup de bons usages pour elle, et l'autre jour, j'étais à battre ma tête parce que vous ne pouvez pas le faire en Java (parce que Java utilise le type d'effacement, pas des modèles, pour les génériques), mais si je pouvais avoir utilisé, je pourrais avoir épargné beaucoup, beaucoup de code répété dans beaucoup de classes.
Il y a beaucoup plus de choses en C++, et si vous vous limitez à Java ou .Net, vous ne serez jamais découvrir.