淺析java、C#、C++及VC之間關(guān)系
Java、C#和C++各有各自的優(yōu)點,C++兼容性好,Java、C#開發(fā)效率高,幾乎是VC的幾倍以上,但是使用C++的人越來越少了,這是為了什么原因啊,這么簡單快上手的編程語言就這么被忽略了?
java,C#是C++后出現(xiàn)的語言,VC是比較早就開始有的開發(fā)工具,C/C++也是比較早的語言。java的開發(fā)工具有JBuilder、JCreator、Eclipse等,而C#的開發(fā)工具就是微軟的VisualStudio系列。
java、C#和C++各有個的優(yōu)點,C++兼容性好,不依賴平臺,java、C#依賴各自的虛擬機(jī)(C#的虛擬機(jī)是.netframework)運(yùn)行,離開了虛擬機(jī)便不能運(yùn)行;Java、C#開發(fā)效率高,幾乎是VC的幾倍以上,C++運(yùn)行效率高但是開發(fā)比較麻煩,學(xué)習(xí)也比較難。
語言沒有優(yōu)劣之分,這些高級語言都是現(xiàn)在大量使用的流行語言,任何一種語言都可以開發(fā)出大型系統(tǒng),但是實際運(yùn)用往往根據(jù)需要選擇,除非是做底層類庫開發(fā)一般不選C++,因為它開發(fā)成本太高,還有用C++的是為了部署簡單,例如網(wǎng)絡(luò)游戲。
為了避免每個用戶都安裝虛擬機(jī)就不選用java或C#,除這些之外,一般選擇開發(fā)效率較高的java、C#,這樣可以降低公司的開發(fā)成本?,F(xiàn)在學(xué)習(xí)編程的人大多數(shù)都學(xué)習(xí)java、C#,因為簡單啊,很快上手,C++確實越來越少人學(xué)了。
不要看著難學(xué)的VC挺cool的就去學(xué),要看實際應(yīng)用和自己的興趣還有學(xué)習(xí)環(huán)境,C++學(xué)習(xí)最好有實際應(yīng)用環(huán)境不然學(xué)起來累死不討好,最后失去了信心。要知道VC已經(jīng)是好幾年前的技術(shù)了,微軟現(xiàn)在基本不會升級它了,也就是說用VC你的生產(chǎn)效率就是幾年前的,很低。
現(xiàn)在很多高校都把C++作為一種必須掌握的基礎(chǔ)語言,甚至有些非計算機(jī)專業(yè)的學(xué)生都要學(xué)習(xí)C++,但是那些要求僅僅是對C++基礎(chǔ)知識的掌握,要熟練運(yùn)用到實際開發(fā)中去還是有一段距離的。
學(xué)java有沒有用呢?
我覺得現(xiàn)在java和C#的前景很難分出高低,所以學(xué)java和C#差不多,而且他們都比較類似,基本可以一通“兩通”。
學(xué)習(xí)一樣?xùn)|西有沒有用要看它的使用價值,現(xiàn)在公司需要的人才不單單是會簡單的編程,而且是全方面的,業(yè)務(wù)和其他能力也很重要,可以說學(xué)了java你可以做一個程序員,找到工作也沒問題,但是要真正深入企業(yè)業(yè)務(wù),要工資有所提升則還要實踐一段時間,充分融入到企業(yè)的業(yè)務(wù)中去。
例如有些外包公司,他們對程序設(shè)計的要求比較低,只要會用一些主流的語言就可以了,但是對外語要求很高,例如對日外包公司對日語的要求,這樣如果掌握了java或C#之后能夠?qū)W習(xí)一門日語是很好的?,F(xiàn)在有招聘單位打著日語二級軟件工程師月薪1萬的旗號。
當(dāng)然還有其他業(yè)務(wù),在工作過程也是可以慢慢積累的,例如有些公司用到的GIS(地理信息系統(tǒng))。有些學(xué)員說:“可是我知道現(xiàn)在的電信行業(yè),nokia,moto還挺需要這方面技術(shù)的人。而且薪資給的還比較高?!?/P>
我們并不是要抵制學(xué)習(xí)C++,而是說學(xué)一樣?xùn)|西必須看到成果,如果你有環(huán)境學(xué)C++,例如公司有項目,那就跟著學(xué),這樣有人可以問,有環(huán)境壓力才能學(xué)好。我看見很多人說要學(xué)C++,但是因為實際沒有用到最后幾年過去了還是只背得一些基本語法?!澳荲C不熱的原因也是他的市場小是嗎?”
其實VC也不能說不熱,很多公司還是要用它的,它用得相對少,但是會的人也少,我面試過VC的人,來面試的很少有人合格的,簡歷寫得不錯,可是一問連strcpy復(fù)制了多少內(nèi)存都不清楚。C++人才還是很缺的,相反會java、C#的人比較多。
應(yīng)該選擇學(xué)習(xí)什么語言呢?我的建議是:對于原來沒有多少計算機(jī)基礎(chǔ)的人,建議從java、C#學(xué)起,如果以后以此找到了一份比較好的工作,你可以繼續(xù)深入研究它,也可以把計算機(jī)技術(shù)和公司的業(yè)務(wù)多結(jié)合,計算機(jī)只是工具,要跟業(yè)務(wù)結(jié)合才能產(chǎn)生價值。
如果以后有C++學(xué)習(xí)的需要,例如公司業(yè)務(wù)的需要,那可以在項目中學(xué)習(xí)它,因為有環(huán)境的需求壓力和前面的編程基礎(chǔ)學(xué)起來會比較容易一點。對于已經(jīng)有一定的程序設(shè)計基礎(chǔ)的人,如果你想做一些比較底層的開發(fā),或者有實際項目的需要,可以選擇學(xué)習(xí)VC。最后我要說:VC絕對不是大公司用的,Java、C#絕對也不是小公司用的。語言和工具在這里沒有可比性,只存在各自的優(yōu)缺點。
【編輯推薦】