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