C++程序员和Java程序员有什么不同?

每当把c++和java相提并论,网上总是一番唇枪舌战,各自持不同的观点。比如说c++能做底层开发,java主要是做web开发和高端设备。c++的运行速度比java快很多,C++能写大游戏,java做不了大游戏等等。其实不仅这两门语言本身有一定的区别,从事这两种语言的程序员也有不同的性格特征,也许是被潜移默化了吧!

两者的差距最重要的是处理问题态度。

尤其是对性能和可维护性的tradeoff不同比如,在都不用库自己写轮子的情况下C++里,你判断一个list的元素是否在另一个(不是非常大的)list也存在,你要是直接俩for循环把两个list挨个比下,code reviewer会觉着你这人不懂算法——这水平就别写C++了。这种情况显然要把第二个list建个map,然后查询才有效率啊。

C++程序员和Java程序员有什么不同?

同样情况,如果是Java,你上去把第二个list建map然后查询,code reviewer会觉着你这人不懂工程——这水平就别写Java了。Premature optimization is harmful!不是效率瓶颈的瞎优化啥,增加维护难度。

从视野的角度来说,Java程序员往往要更宽泛一些。由于语言本身上说,Java将很多C++逃不掉的陷阱和坑洞都填补了,仅从语言上说,无论是入门还是使用都显得更加简单,程序员就有更多精力来关注语言本身之上的事情。而且,Java领域的类库明显要丰富得多,所以在考虑某一个设计实现的时候,Java程序员很喜欢到处寻找可以拿来即用的类库,但是C++程序员习惯于自己去做其中大部分的事情。对于面向对象设计,模块和组件的设计,Java 程序员往往要掌握得稍好一些。

C++程序员和Java程序员有什么不同?

尚学堂12大精英团队+各类实战项目,真正实现1+1>10的目标效果。帮助学员迅速成长,持久腾飞,成就学员“高富帅”人生;帮助企业技术和团队成长,成就百年中华名企;助力中国持续成为世界强国而贡献力量。尚学堂12大精英团队,覆盖IT行业十大领域,实战团队240人,服务学员累计超过10万人,就业合作企业数量500+。


分享到:


相關文章: