爭論windows和linux誰更好是沒有意義的,只有相互借鑒才能促進不斷的完善。

來源:互聯網
上載者:User

        撇開個人的喜好,從客觀的開發角度來看,windows和linux都是成功的系統。
曾經在開源社區最大的比較就是linux的核心比windows好。這個爭論到後來突然偃旗息鼓了,因為我們既然看不到windows的核心,就無法做出客觀的比較。在就業市場上,從需求的角度來說,可分為專業和非專業需求。有的客戶是專業公司,需要開發專業系統,他們也有專業人員維護,有的客戶是面向非專業市場的,比如開發遊戲,給普通使用者使用。這2者的市場總體來說差別不大。對於正在選擇未來發展方向的IT人員,選擇什麼公司和什麼市場,並非首要因素。
因為工資的決定,是遵循市場需求和物以稀為貴2個原理同時運作的。

比如說,市場需求量大的技術,則比較容易找到工作,市場份額也大,總蛋糕最大。由此來看,windows管理員是需求最多的。可是因為現在電腦的普及,可以勝任windows管理員的人相當的多,於是蛋糕雖大,可是分的人太多了,便變得沒有很大的價值。從另一個面來看,AIX伺服器的總體需求量是不大的。一般大企業才使用,但是因為對技術要求高,內容複雜,掌握的人少,所以工資一直都居高不下。

在目前的市場上,windows在案頭市場佔有絕對優勢,在伺服器市場佔有三分之一強的席位(中小型為主),而中大型伺服器都在UNIX家族控制下(包括linux,linux也佔有很多小型伺服器市場)。在很長的未來裡,它們都不會被輕易淘汰。因為選擇哪個方向則可依照個人興趣愛好。

第二:選擇程式設計語言和開發方向。
首先,可以粗略的把程式設計語言歸為幾大類
1:c/c++ asm
2: java/c#/f#/VB
3: perl/python/php/ruby/bash/powershell
撇開第一類不說(後面解釋),第二類是解釋語言,也是微軟和開源社區都推薦的未來技術.是JAVA EE和.NET的核心。第三類是描述類語言,在設計上,文法和使用比前兩類要簡單(除了PERL<-特例)。

那麼再看方向:
1:案頭開發:範圍很廣,但主要在windows平台上為主。
2:企業開發:目前以JAVA EE和.NET為主流。其中當前的形勢是JAVA EE更為廣泛。
3:遊戲開發: 很流行,不只局限在windows,也包括遊戲平台。
4:特定開發: 專業用途的開發,需要特定技術掌握。

在此,我們僅僅討論第一二類方向,因為遊戲開發和特定開發於前兩類有很多相似之處。
從案頭開發的角度來看,選擇一門語言是相當重要的。這裡的案頭開發主要指windows平台。
在windows平台上開發的工具軟體,最主要的是visual studio和borland 系列。現在已經可以細化為四大塊:
visual c++;visual basic;delphi;visual c#;(c++ builder的份額越來越少了)
這四門工具掌握好了,都能有相當的發展,vb也不是想象中那麼弱,vb是.net的主要語言之一,雖然預設的首席語言是c#.
但是從工資的角度來說:visual c++是最高的。
因為c++的難度是所有語言中最大的。不止是掌握這門語言,而且要懂stl/boost等庫的開發。還要同時相容c,要懂c,懂彙編,瞭解編譯器是怎麼產生代碼的,才能算精通c++. 在vc上,還要懂幾個庫,MFC和ATL等。現在有的人才學了點皮毛就自稱精通,招聘廣告上也要求精通vc++,java等一套工具。其實那個精通的標準,是被潛規則了的。
學習visual c++,如果不精通,還不如學delph,java,c#,在開發使用者程式二者差別不大,而且速度快,易於維護。c++沒有相當的功力的人,無法維護。用c++不同的人可以寫出數種模式的代碼,沒有經驗的人要整合在一起十分艱難。
但是最程式有底層要求,或者效能要求,則必須使用vc,因為vc功能強大,也是目前唯一能編寫二進位代碼的工具了。java,c#必須轉換成中間碼,eclipse也能把java換成exe.但是和vc相比,差距是不容忽視的。

從企業開發的角度來看:JAVA EE擁有更大的範圍,因為其跨平台特性。從IBM到SUN到LINUX都全力支援JAVA技術,而企業伺服器應用上來看,UNIX/LINUX佔有更大的份額。但是.NET也不容忽視,從工資上來看,二者居然能基本持平。J2EE的工資較高於普通.NET應用。因為普通asp.net等開發在visual studio/msdn支援下相對容易,但是進階開發則沒有大的區別。

這篇文章是從朋友部落格上轉載的,供參考。

我的看法是,選擇平台都不算太重要。因為都有其發展範圍。
重要的是自己掌握了多少。精通了多少。
但是對於有些猶豫的朋友來說,選擇方向仍然是關鍵,所以我的一點愚見是
掌握和精通比如delphi,vb,c#,java是明智的,這些東西入門容易,一旦努力精通,是很有用處的。
對於vc++,要精通則是很難的。掌握不難,可是普通的掌握實在不如精通以上RAD快速開發工具。
c/c++是一個大工程,什麼叫精通呢?按照linus開發核心小組的要求,相當理解c,就能開發核心了。通c++就能開發stlport和boost這種庫了。 精通c不是說很懂c的文法。這叫懂文法。精通是懂其結構,為什麼如此,如何編譯。是一套系統專業的過程。僅懂其文法,則和掌握vb沒啥太大區別,所以有人感覺stl,mfc很難。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.