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

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

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

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

分享到

hanrui

相關(guān)推薦