这取决于你自己对软件职业的规划,即你想处于软件工程的哪一个层次上。
另外一点,同样非常的重要的一点,即你的智商决定你适合于哪种语言。
对于编程语言,100个人起码有10种不一样的看法,所以我无论表达哪种观点,都会有九成的人会反对,呵呵
我说说我眼中的C++和Java的差异:
a. 你可以在4天内精通Java,你无法在4年内入门C/C++
你可以在4年后说自己懂了C/C++,你无法在400年后说自己真懂了Java。事实上,你永远理解不了它,因为这不取决于你,不需要道理可讲。
b. 在简单问题上,你可以看到Java的简单;在复杂问题上,你可以看到C++的简洁
在实际工作中,而非hello world中,Java的语法复杂度,晦涩度早就超过了其他一切语言。
c. 如果你逻辑强,你可以自己推导出C++语法为什么是这样而非那样;如果你记忆力强,你可以记住Java的各个框架
d. Java认为一切都是对象,C++自始至终反对“一切都是对象”
e. Java以“面向对象”为卖点;但自十多年前业界证明面向对象是个用处不大的鸡肋后,C++就放弃了面向对象的研究(C++放弃了对面向对象的研究,而非放弃了已经加入C++语言内的面向对象特性)。C++委员会声明过,不会再将时间和精力放在那些业已被证明无用的特性,例如面向对象上。
f. Java是私有语言,其兴败取决于社区,其性命只取决于它的主子;C++是开放的语言,其兴败和性命都取决于社区。
h. Java是二进制级跨平台,C/C++是源码级跨平台
开头的话,建议读完 Bjarne Stroustrup的《c++程序设计语言》再说