從對基礎(chǔ)知識掌握的程度來說,例如數(shù)據(jù)結(jié)構(gòu)和算法,C++程序員要比Java程序員牢靠得多。究其原因,大概是因為C++程序員需要經(jīng)常自己實現(xiàn)那些項目基礎(chǔ)設(shè)施,但是Java程序員大多拿來即用。公平地說,C++不是一門適合程序員初學(xué)者的語言,但是Java是。C++程序看起來確實要比Java 程序稍難懂一些,C++程序員往往思維更加嚴(yán)密。另一方面,我也發(fā)現(xiàn)內(nèi)地的程序員要比沿海和發(fā)達(dá)城市的程序員基礎(chǔ)扎實,而且低調(diào)內(nèi)斂,不那么浮華,但是就是善于解決那些難啃的問題。

從視野的角度來說,Java程序員往往要更寬泛一些。由于語言本身上說,Java將很多C++逃不掉的陷阱和坑洞都填補(bǔ)了,僅從語言上說,無論是入門還是使用都顯得更加簡單,程序員就有更多精力來關(guān)注語言本身之上的事情。而且,Java領(lǐng)域的類庫明顯要豐富得多,所以在考慮某一個設(shè)計實現(xiàn)的時候,Java程序員很喜歡到處尋找可以拿來即用的類庫,但是C++程序員習(xí)慣于自己去做其中大部分的事情。對于面向?qū)ο笤O(shè)計,模塊和組件的設(shè)計,Java 程序員往往要掌握得稍好一些。

在讀書的時候,很多程序員都會給自己訂立一個方向,有的喜歡寫底層實現(xiàn),有的喜歡研究人工智能,有的喜歡做企業(yè)應(yīng)用,有的喜歡涉足互聯(lián)網(wǎng)……就像對 C++和Java等語言的選擇一樣。當(dāng)然,工作有時候并不如心中所愿,這方面可能和自己最初的方向并不一致——有人選擇繼續(xù),發(fā)現(xiàn)這個活兒也不錯;有人就會選擇放棄,繼續(xù)執(zhí)著地尋找自己喜歡的事情。我有三個當(dāng)初和我一起學(xué)Java學(xué)J2EE的朋友,現(xiàn)在一個成了DBA,一個賣水果去了,還有一個在創(chuàng)業(yè)搞機(jī)頂盒。

當(dāng)然,也有很多程序員天天都在糾結(jié):學(xué)什么更賺錢?C++還是Java有前途?前端還是后端有前途?轉(zhuǎn)管理還是轉(zhuǎn)咨詢?也有人這樣問我,對于這樣深不可測的問題,為了避免顯得我沒文化、見識淺,我總是一笑置之。

分享到

hanrui

相關(guān)推薦