評論王垠《論window和Linux之長短》

首先聲明我不是一個windows的絕對支持者,而且我也不想對各個操作系統進行評論。但是看到了王垠《論windowLinux之長短》後,我真的有種不得不說的感覺,我想王垠先生雖然想力圖讓自己保持中立的觀點,但是在進行了一翻評論後還是忍不住自己的linux立場,對windows進行了不公正的評判。
    
文中王垠先生聲稱是作爲一個用戶而不是一個開發者來說話的,討論是基於操作、應用層面的。那麼文中真的是如王垠先生所說的是基於操作、應用層面的討論嗎?文中列舉了兩個例子,一個是貝爾實驗室一位科學家Steven Fortunewindows的態度,文中的另一個例子是丹麥的一個高中計算機教師,而這個丹麥人是計算機專業畢業的,那麼這兩個人可以代表一般用戶嗎?而且在第一個例子中,王垠先生猜測Fortune的態度的依據就是Fortune對他們說的:“對不起。我機器上沒有 MFC。” 那麼MFC是什麼?MFC只不過是windows下的一個庫而已,其主要作用就是對windows api函數進行了封裝,使其更加方便的被使用。如果不在windows下開發的話是肯定用不到MFC的,我想作爲UNIX發明者的貝爾實驗室應該不會使用windows操作系統吧,那麼Fortune沒有MFC是很正常的事情,這個並不能說明他對windows有什麼不屑。況且拿MFC來說,它採用的技術在上個世紀九十年代還是很先進的,其中所採用的執行期類型識別等技術幾乎和現在的stl是同期起步的。而文中對丹麥的高中計算機教師的描述,也是講別人怎麼了解UNIX,技術是怎樣精湛,完全沒有別人對windows的看法。也就是說王垠先生舉了兩個例子來說明歐美國家的用戶對windows多麼的不屑,但是他舉錯了例子,別人根本就沒有覺得使用哪個操作系統是個值得深入探討的問題,文中有一句話很能揭示問題:“他說他在高中裏講授程序設計和算法,計算機語言文法。他說用 Scheme,他的學生不用再爲內存泄漏等程序語言本身的問題而煩惱,而專注於問題和算法本身。有利於培養學生解決問題的能力,特別是用計算機解決數學問題的能力。”歸根結底操作系統只是一個工具而已,各有各的長處,對於不是設計操作系統的人來說,更重要的是用計算機來解決問題,而不是爭論哪個操作系統好。這就象拿刀插還是筷子喫飯一樣,你覺得哪個更好呢?
    
我們再來對比一下windowslinux(或者應該說整個類UNIX系統)的歷史,這樣也許能更好地理解兩種操作系統的差異所在,來根據自己的需要來選擇操作系統。在很久很久以前,那個時候還沒有pcpc80年代初由ibm開始的),只有昂貴的大型機,而且那個時候還沒有操作系統,爲了更好的管理大型機,貝爾實驗室的幾個牛人開始了寫操作系統的工作,在經歷了幾次失敗後,終於在70年代初寫出來一個很牛X的操作系統,他們把這個操作系統叫做UNIX,在之後的很多年裏UNIX不斷地得到增強和發展,最終形成了現在的一大羣的UNIX子孫。但是很不幸的是,這些操作系統是爲大型機準備的(那個時候也沒有pc)。在80年代初IBM開始生產PC的時候,爲了給這個新生兒尋找一個可靠的管家--操作系統費勁了腦筋,最終選種了比而.該死的DOSDOS是一個單任務單用戶操作系統,也就是說只能在一個時候給一個用戶使用,而且還只能幹一件事情,如果你想打字就不能聽音樂(而且那個時候的DOS好象還不能聽音樂),但是這些功能卻足夠PC來用了(那個時候的PC也跑不動UNIX)。正是由於DOSPC的結合,使得計算機普及到了廣大的人民羣衆中來,而MSDOS的基礎上又發展出了windows3.x操作系統,進而到windows9x2000xp。而linux的歷史比較短,上世紀90年代初芬蘭的一位牛人在學習操作系統課程的時候,參考了UNIX和其他一些類UNIX操作系統,寫出來的一個類UNIX的操作系統,而他的特別之處是他立刻公開了他的源代碼,於是全世界的黑客都爲linux的發展貢獻了力量,最終成了現在的樣子。通過分析windowsUNIX的歷史,很顯然,兩者的定位是不一樣的,windows就是專門爲個人用戶的PC準備的,而UNIX就是爲需要大型機強勁的計算能力的公司、科研機構等用戶準備的。而個人用戶一般來說計算機知識不會很豐富,那麼windows的傻瓜式服務就很方便;而機構用戶一般都有專業的計算機維護人員,那麼他們關注的是怎樣發揮計算機的性能,更好地爲機構服務,那麼UNIX強大的性能和穩定性就更合適了。
    
現在讓我們再回到我們原來的話題中來。雖然針對的用戶羣體不同,所採用的結構和邊縣出的性能也各不相同,但是windowsunix的基本原理也還是一樣的,提供的軟件基本上也都相互替代。對於一個優秀的開發者來說,想從一個平臺轉向另一個平臺其實是一件很簡單的事情,所以說使用哪個操作系統只應該是根據自己個人的喜好和工作的性質來決定,不應該對哪個操作系統有偏見。這也就是文中作者舉的兩個例子中的主人公都沒有提到windows的真正原因,他們是專業的開發者,他們對計算機的熟悉程度決不是我們這些菜鳥可比的,所以他們會選擇性能更佳的unix。這個並不是偏見的問題。說到偏見,這裏不得不提的是,計算機界的一位大師級的人物,minix的創造者,《操作系統設計與實現》一書的作者,(那個牛人的、名字忘記了,不好意思)就對linux存在很深的偏見,因爲linux是一個宏內核的os,而當時計算機界認爲現代潮流是微內核的(windowsminix都是微內核的),這在linux誕生時引起了一場關於minixlinux的大論戰,其激烈程度不亞於當今的windowslinux之間的論戰。
    
那麼我們現在瞭解爲什麼很多人會發出“linux也能象windows一樣。。。”的感嘆了,因爲他們知識一般的用戶,他們更強調的是操作的方便性,而不是發揮機器的性能,或者提供高性能的服務,事實上他們也沒有什麼事物需要一臺強勁的計算機來提供優異的性能。如果你給他們一臺大型機,他們的結論也許只是“玩遊戲真爽”而已。
     unix
是永恆的嗎?也許是,也許不是,這個世界上有什麼是永恆的嗎?也許至少到現在,操作系統的原理還沒有超越幾十年前unix所劃定的框框,至少unix已經十年沒有大的變化了。但是不要忘記了unix的這些特性並不是與生懼來的,它也是經歷了失敗,經過不斷的發展才成爲現在這個樣子的。而對於windows,如果bill當初把dos設計得象unix一樣,那麼它根本就無法在性能低下的PC上運行起來,那麼也就不會有後來的windows了。正是dos奠定了microsoft的成功的基礎,但是也拖累了windows的發展,windows的每一步發展都必須要考慮向下兼容,否則它的千千萬萬的普通用戶是絕不會答應的。
    
就象前面所說的一樣,無論windows也好,linux也好,對於一般人或者一般的開發者來說,都不過只是一個工具而已,你用刀叉還是筷子只是取決於你是喫西餐還是中餐,而不應該取決於筷子的效率是不是比刀叉高,功能是不是比刀叉強,也不會取決於刀叉是不是比筷子更易於使用。
    
寫這篇文章的目的,並不是爲了爭論哪個操作系統更好,也不是認爲王先生的文章不好,事實上,王先生的文章對於linux的分析和介紹非常的全面和精闢,讓我有種醍醐灌頂的感覺,深感自己對linux瞭解之少,以後要更加努力。但是王先生對於windows有一種偏見,而這種偏見在中國很多程序員或即將成爲程序員的人身上豆油,那就是linuxwindows好,用linux的看不起用windows的,而且在我國,象這種例子還很不少,以前用vb的看不起用asp的,用delphi的看不起用vb的,用vc的用看不起用delphi的。其實操作系統和語言都是工具,只要能完成工作的,都是好工具。現在大家對語言的偏見漫漫少了,但是對操作系統的偏見卻依然存在,在這裏我希望大家能夠客觀地看待這些,選擇適合自己的工具,塌實地去學習其中的原理和思想,而不是把時間都浪費在爭論哪個工具好上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章