3、c++的编程特点
c++最大的麻烦来自于ide编程环境。比较起来VS.net的编程环境已经算是这个方面的佼佼者了,可是,你必须要给它安装许多插件才能够达到Java的ide的那种程度。如果你没有给你的vs.net安装代码自动提示和代码格式化的插件,那就说明你还在浪费力气的多敲空格(《代码大全》上面说,程序员有30%的编写代码的时间花费在敲额外的空格上了)。
使用c++编程的最大好处是,你能够使用到最新的算法。一般研究算法的人都会用c/c++来构建他们的代码库,究其原因,恐怕是因为那些大学者们年纪比较大,没有学过java(呵呵)。所以,你要找个基础的数据结构,比如,kdb-tree的实现,找c++的要容易得多。集中一点,c++就是为算法而生的。你用它来做任何其他事情都不是很合适。
使用c++的兄弟大部分都是被c++的古怪特性吓怕了的。无论是到处会出现的const无法转化为非const,还是常数无法转化为引用,还是有的函数指针居然是8字节,还是namespace只具有象征意义等等,c++中的古怪行为实在难以枚举。如果你还没有遇到过,那恭喜你啦,你已经成为顶级高手了或者你还在十分低效的编程。这里要告诫那些以理解c++的一些奇特性质而沾沾自喜的兄弟们,不要学这些垃圾的东西,这些古怪的特征肯定会被抛弃的。这点如同你不要用java中标明为deprecated的方法一样。
在c++中,你一定要万分注意命名规则(因为ide并不会告诉你某个名字的真正类型)。为了你自己也是为了别人好。
4、相互学习
学习c++,你最该看的书是:stl相关、boost相关、effective c++、c++ prime、代码大全 等等。学习java,你最该看的书是:设计模式、软件工程(如敏捷编程)、java3标准、算法设计。用c++的人一般把自己看成一个低级程序员,用java的人一般把自己看成一个设计师。虽然初级c++程序员比初级java程序员薪水高。但高级的c++程序员却不比高级的java程序员薪水高。
另外,让人感觉到意外的一点是,使用java的人普遍比使用c++的对基本算法了解更加深入。我想可能是因为java里面的算法是开源库,容易看明白;同时,java要想跑的快,算法是必须考虑的。当然了,用java写一个算法比用c++写一个要来得快很多。举例来说,几乎用java的人人人都知道动态数组(ArrayList)是怎么工作的,但是,使用c++的人却只有少数知道动态数组怎么工作(vector)。
c++和java程序员的自我感觉真的差好远,居然会有c++团队3个月都不交流一次!这点在java看来几乎是不可能的,3个月之后构想肯定发生改变了。
根据分析,c++程序员应该提高自己的构架能力,而java程序员应该提高自己对语言的理解和代码编写能力。只有相互学习才能够让我们编写的软件不成为垃圾。

[图文]Linux 环境下使
Ubuntu下用eclipse cd
Linux下用gedit制作脚
Linux新内核2.6.26测
Linux环境下的Java开
Linux环境下的Java开
Linux系统下带图形界
Ubuntu 7.10下配置Jav