語言之爭是每個(gè)開發(fā)人員都不可以回避的事實(shí),刻意的回避都是阿Q精神和鴕鳥心態(tài)。
學(xué)一門語言需要很多精力,同時(shí)精通多門語言的人是比較少的,因?yàn)槿说木τ邢蓿壹夹g(shù)更新快,就業(yè)競爭大等。如果你不想你花了很多時(shí)間學(xué)一門語言,結(jié)果沒有公司要你做開發(fā),你只能自娛自樂的話,你可以逃避;如果你家里有很多錢你不用為衣食操勞的話,你可以逃避;如果你不用養(yǎng)家糊口的話,你可以逃避。。。
說到語言的選擇當(dāng)然是學(xué)多種最好,如果你精力有限那就選一門有錢圖的語言吧。學(xué)什么語言有錢圖?世界變化快,未來不容易猜測。如果未來都明擺著了,那些注定要失敗的人怎么會有學(xué)習(xí)和工作的動(dòng)力,他們怎么會有生活的勇氣?
只是每個(gè)人的智力和眼光的不同,所以對未來的預(yù)測準(zhǔn)確率不同而已。
目前來看所有的語言的競爭不外乎產(chǎn)品市場的競爭,操作系統(tǒng)市場的競爭,產(chǎn)品市場的競爭受到操作系統(tǒng)的影響很大,語言的競爭到目前受到了操作系統(tǒng)市場競爭的約束和限制,舉例來說:java、c#、delphi、vc等。
java是跨平臺的,除了windows之外的其它操作系統(tǒng)基本都默認(rèn)安裝了多個(gè)版本的jdk,而且支持的很好。windows就不一樣了,不僅沒有默認(rèn)安裝jdk而且支持有限,比如不規(guī)則窗體的實(shí)現(xiàn),在mac os里面只需要setBackground(0,0,0,0)就可以了,但windows不通過jni是比較困難的。
c#也是跨平臺的,它需要.net frame,這不是每個(gè)其它操作系統(tǒng)都默認(rèn)支持的,而且有沒有問題現(xiàn)在還不確定,不過xp系統(tǒng)不是默認(rèn)安裝.net frame的,vista才默認(rèn)支持。
delphi和vc是win32平臺的開發(fā)工具,其中delphi更高效,windows都是默認(rèn)支持的,其它系統(tǒng)不默認(rèn)支持。
現(xiàn)在來看看操作系統(tǒng)的市場,(http://it.sohu.com/20060822/n244930854.shtml)目前微軟Windows操作系統(tǒng)當(dāng)前的市場份額高達(dá)96.97%,占據(jù)著絕對壟斷地位。Windows XP是絕對的主力,市場份額高達(dá)86.80%。Windows 2000的市場份額為6.09%,位居第二。盡管Windows 98已經(jīng)被認(rèn)為是過季的產(chǎn)品,但市場份額卻為2.68%,排名第三。蘋果的Macintosh系統(tǒng)位居第四,市場份額為2.32%。而Windows ME的市場份額為1.09%,排名第五。Linux系統(tǒng)的市場份額只有0.36%,位居第六。Windows NT排名第七,市場份額為0.24%。而Macintosh Power PC排名第八,市場份額為0.15%。
從目前來看xp是主流,而xp系統(tǒng)下的桌面應(yīng)用程序的開發(fā)工具無疑是以delphi和vc為最合適,b/s的以java和.net最合適,將來的3年以xp和vista為主流,其中xp為絕對主流,最合適還是delphi和vc做桌面應(yīng)用,企業(yè)級的應(yīng)用還是以java最合適。不過目前的產(chǎn)品很大部分都是企業(yè)級和b/s模式的,所以java的產(chǎn)品市場很大。
對于開發(fā)人員來說java是非常友好的,因?yàn)樗麄冮_發(fā)的產(chǎn)品容易開發(fā),容易賣出去,這才能掙到錢。
而微軟卻對開發(fā)人員不友好,他們壟斷,封閉,語言復(fù)雜,開發(fā)工具昂貴、操作系統(tǒng)api更新快等。因?yàn)樗麄兒ε麻_發(fā)人員開發(fā)大量的產(chǎn)品來搶奪他們的數(shù)據(jù)庫市場,搶奪他們的辦公軟件市場,搶奪他們的各種可以賣錢的產(chǎn)品的市場,微軟對用戶卻是很友好的,他們的操作系統(tǒng)漂亮,盜版橫行,使用方便等。
學(xué)習(xí)java,目前可以用它開發(fā)企業(yè)級的應(yīng)用,當(dāng)若干年后微軟變的微小和軟弱之后來用java開發(fā)windows下大量用戶的桌面應(yīng)用。
學(xué)習(xí)其它的語言,vc或delphi,和c#,目前桌面應(yīng)用開發(fā)用vc或delphi,b/s開發(fā)用c#,將來vista流行之后可以用c#做桌面應(yīng)用。