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+。


分享到:


相關文章: