Bottom Line
Mac OSX給我相當優的印象:如果說要選一個運算平台來滿足我的數位生活,那Mac OSX絕對是第一首選!除非我的工作或是特殊需求非得用其他平台不可。
當然我這樣想可不表示其他人也會如此。我這樣的結論也不代表說Mac OSX就全然沒有缺點可言,甚至我覺得還不少:像是它使用太多」舊技術」、舊包袱、某些方面的表現並不優秀、在美麗的介面下仍有一些醜陋的玩意兒、得花錢買、一定得用Apple的硬體(雖然我個人相當喜歡Apple的硬體)、有時後會出現kernel panic。即便是這樣,Mac在我個人的觀感裡仍是最值得擁有的終端平台:它是目前市面上唯一能讓你真正看得到也吃得到的好產品。
尋找理想的終端電腦
過去很長一段時間,我使用過相當多個作業系統來當我的主要工作平台,到現在仍在繼續使用的只有三個:Linux系列、Mac OSX、Windows系列(這是依字母排列)。
這邊我特別說明一下,我所使用的終端電腦(client computing)或是終端平台(client platform)這個詞彙,意義上其實比較接近桌面電腦,這個邏輯跟許多人用notebook取代桌上型電腦來使用的邏輯很像。在我的文章裡面,這一類的詞彙主要是指這樣的電腦會是每天處理多種目的、功用的電腦,例如我們會在同一台電腦上工作和玩遊戲。
* BSD與Solaris
各式各樣的BSD平台都可以是優秀的伺服器或是嵌入式應用平台。特別當你想要好好搞清楚作業系統是怎麼一回事時,它們絕對是最棒的學習範例!在一些特殊的、具侷限性的應用上,BSD表現也是相當優異。但是如果要作為一個終端平台,我不認為BSD系列中任何一個能夠出線(當然,BSD可以作為明日終端平台所使用的底層技術的中流砥柱,像Mac OSX就是)。我本身相當熟悉Solaris,並覺得它依然是相當可靠的系統(作為server)!這點倒是跟Sun昇陽公司本身的財務表現正好相反。
讓我們簡單地回顧一下三個終端電腦系統候選人:
對了,這三個平台各自都有server版本,但是我們今天只談它們的終端版本
Windows
市場上偏好選用Windows的情形已經到十分荒謬的程度,而我自己則儘量保持一個中立的態度來審視Windows:雖然自己常常在使用Windows時會有快得幽閉恐懼症的傾向,但我並沒有因此而討厭這個平台(我知道有些人對Windows已經是情緒性的厭惡了)。通常我都會將使用Windows所生的種種不適,歸咎於我自己的背景:我第一個使用的系統是 SVR4 ,之後分別是Linux與 * BSD。Windows有許多自己的調調,而讓我覺得跟我所熟悉的環境相較起來顯得陌生。過去幾年我嘗試過許多作給 Windows的仿 * nix-like環境,像是MKS toolkit for DOS、 Cygwin、MKS for Win32、Microsoft Services for Unix… 等等,而這些玩意兒的確是很努力試著模仿得唯妙唯俏,但畢竟是不一樣的東西。我承認單單只是無法提供一個「純粹的Unix環境」,這樣的理由是無法整個否定掉Windows的,事實上在很多方面它已經是一個很不錯的平台 —- 特別是當你是重度地在多種平台上(包含Windows)發展,你就會同意我說的。
Windows有太多entropy,白話一點就是這系統太「忙」了:太多過去的包袱以及往前相容的要求,使得上面的軟體容易出錯或是故障。基於這樣的缺陷衍生出來的問題越演越烈,簡直變成一種流行趨勢,特別是安全性部份的問題。許多電腦老手對於Windows的使用者介面設計深深不以為然;而這些每天都會發生的小瑕疵累積起來,似乎讓你的生活越來越難熬(makes your life difficult)。舉例來說:這系統在你要清空一個無限迴圈的垃圾檔時;或是當你想要複製一個超大檔案時;或是當你想要清空IE的快取檔時,表現實在混帳透了!而最偷吃步的就是XP雖然開機後很快讓你看到桌面,但是卻還要等很久系統才真的能使用,而這段等待的時間裡,甚至點選「開始」選單都沒有反應?!你能弄清楚到底有多少關鍵值在你的登錄檔裡面嗎?你知道當一堆獨立辦公室同時要維護Windows該怎麼辦嗎?你是否曾經花了好幾小時,甚至一整天時間才安裝完Windows以及各式驅動程式(特別當你用Sony VAIO、IBM ThinkPads… . )?你是否對Windows的穩定性頗有微詞?
市面上甚至有人出書來教你解決上述問題!
Windows XP預設的樣式簡直像是從Disney樂園學來的 — 當然Disney樂園沒什麼不好啦,很多人喜歡呢!真的!
有人說,其實Windows是一個相當有趣的平台,特別當你是個Hacker時。試想:你在這平台上可以搞到許多不錯的開發工具、像SoftICE 這種除錯工具、從一堆未證明的API裡面理出頭緒、系統常會天外飛來一奇怪訊息、找出並修正安全性問題… . 等等。這麼多事情可以作,在這樣一個市佔率超高的平台上面,你所作所為都是貢獻良多啊!但是Windows是如此跟 * nix世界搭不上線,我想光這點就夠嚇壞一堆(深具傳統的)Hacker,並讓他們將Windows踢出自己的電腦了。當然,看不到原始碼也是主因之一。
但不管怎樣,這世界上大部分的電腦還是搭載Windows。其結果就是Windows上可用程式越來越多,這應該是一個不斷反饋的迴圈。太多使用者根本沒有選擇,事實上他們自己也不知道原來還有其他選擇。或真或假,總流傳著有一股想跳槽遠離Windows的趨勢。但事實上,許多人早就在 Windows這平台上投資了像是金錢、智慧權、法律權利、甚至是政策性的東西,對他們來說,根本就沒有誘因去嘗試或意圖轉換到其他平台上面。他們覺得人生中實在是有太多更重要的事情要作;至於考慮、計畫轉換電腦平台這種鳥事根本就排不上待辦事項清單裡面。畢竟大部分的人壓根兒不喜歡電腦 —- 簡直可以說他們是被迫使用電腦的。
微軟他們擁有相當多機會和資源,在未來新的Windows版本裡解決目前所存在的諸多問題。我個人覺得他們的Windows2000就做得還不錯。而微軟擁有相當多的技術(自己的、第三方廠商的、或是開放原始碼計畫裡的),所以或許有一天,他們可以做出真正適用於終端平台的系統,或許有一天… .
目前,就我的看法,Mac OSX顯然是優秀許多 —- 特別是針對有心要擁有選擇權並肯實際實行的人。
Linux
我對Linux是情有獨鍾,因為這些年來我受惠於GNU、Linux、BSD社群裡許多優秀並相當有用的程式碼良多。不管是在學術領域或是工作方面,我完全是Linux的重度使用者。但正因為我對他的愛好,使得我認為要作為一個終端平台,Linux真是令人沮喪。
我認為在許多應用上面,Linux就算不是第一,也絕對是第二的作業系統,像是:跑server應用程式、各種嵌入式應用、學術研究、讓高科技團隊有個平台可以針對自己的特殊需求開發程式;幾乎所有領域均優,獨獨就不包含大眾型終端平台。
Linux作為終端平台,跟Windows一樣有許多惱人的問題。
選擇,到處都要選擇
Linux提供的選擇多到你無法相信!光是單單要選擇你想用的套件,就多到讓人抓狂;當然主流套件數量不多(這樣說就是騙人啦!即便是主流也是多到不行,有些僅僅是細微上有差異,但有些卻是極端不同)。你總可以在根本無法想像能跑「系統」的平台上面跑Linux,像是手錶、PDA、甚至叢集…幾乎你想得出來的電子裝置都能安裝Linux。另外你還可以重新從原始碼來編譯出整個系統(Gentoo Linux) —- 針對你的機器,將效能操到最高點!你還可以選擇各式各樣的檔案系統;連核心配置方式都能選擇(這部份就會遠超出這份文件的範圍囉)。你可以找到你從來不知道曾經在這世界上存在過的裝置的驅動程式;你還可以用一個世界上沒人用的通訊協定(當然,通用的協定是一定支援的啦);找到一堆支援 X11的視窗管理員;使用數不清的各種程式語言;一堆選不完的視窗環境,而且這視窗環境還能針對你個人的設置、品味、工作方式、文化… . 作微調;你還能選擇各式原生的、移植的API。連在Linux裡面都有主流或非主流之分!無數無盡的組織、人員、軟體,都得利於Linux(這當然包含Mac OSX囉)。
上述絕不誇張,我不過是小小描述一下而已。我想,就我寫這篇文章之時,不知道又有多少Linux系統、技術、軟體同時被創造、發表 —- 而且同時是自由軟體(或免費)。
為避免我們這篇文章裡面所使用的Linux造成誤解,我想要先說清楚這邊所指的Linux是基於Linux這個核心的作業系統(Linux核心加上大量其他相配合之軟體)。這平台上面可有大量的應用程式、函式庫、文件供君選擇到不亦樂乎呢!
即便如上述這樣,Linux先天有相當多資源可供利用,但是針對特定的終端平台這個主題來說,它還是有先天上許多缺乏之處。這樣的缺失造成許多實體用戶(一般人、組織、商商業)不太會去考慮使用它,當然我們都知道問題絕對不會是因為Linux技術上有所不足。
如果你今天想要開發一個終端平台專用的Linux,瞬間你人生馬上會變黑白;當然啦,如果你是以開發Linux為樂的開發人員,一定反而覺得人生變彩色。第一時間你就會發現:哪來這麼多原始碼啊?!原始碼多到讓你眼睛不夠用,更別說要從中找出問題、提昇效能。根據你想要達成的目標不同,你各有一堆函式庫、toolkits、APIS要選擇,另外還要注意運行的桌面環境… . 。
說到這,你發現那裡不對勁了嗎?
如果你是個學生、研究人員、純為興趣、一家專門開發Linux的公司或是試著透過Linux去提供一個客制化系統的人,Linux上人生是彩色的!
但是相反地,如果你目標是大眾化的終端平台,這一切簡直比黑白還糟。假設,你今天是一個開發人員(獨立或是隸屬於一個team… . 隨便),要開發一套影像編輯程式(當然,事實上已經有一套很棒的軟體 — Kino)。你覺得要能相容眾多平台需要多少時間?要選用那個toolkit?你主要針對的桌面環境是哪一個?支援那個套件?你要如何知道你個人的「偏好」具有市場正確?該使用哪個函式庫才能事半功倍,不需要自己重新造輪?你如何確保在不知道使用者將如何安裝下,這個程式能完美運行?使用者的套件、桌面環境、甚至韌體都不可知的情形下,你該怎麼辦?另外你還需要考量到專業或是非專業層級軟體有不同開發方式。所以顯見太多選擇對於軟體開發來說並不是一件好事。
因為這樣眾多、豐富的環境,Linux很快就發展出令人眼花撩亂的分支,你根本找不到所謂的「通用」系統。一個優秀的核心搭配無邊無際的各式技術,這樣的系統真是讓Hacker們夢想成真,但要跟Windows或是Mac OSX競爭,則是另外一回事。
Linux提供了你眾多選擇之中,偏偏就是少了這一個:「假設我根本就不想選、不想煩!」假設我想要的、我需要的,它就是準備地好好的,彼此緊密連結(因為我可能根本不懂技術;或許我沒這種美國時間;或許我急著用電腦來作其他重要工作而不是跟它奮鬥…)作為這樣的終端系統,Linux能滿足我嗎?就目前看來,顯然作不到!
我想關於「選擇」這個論點,有時候是被誤用的:你想有多少人會自己在Linux上面寫硬碟驅動程式只因為他們能作這樣的選擇?應該是非常少吧!而且通常都是因為有特殊需求才會這樣。畢竟這對程式設計師來說是非常低階的程式語言工作(譯者註:如果可以,通常不會有人想跟低階語言打交道),再加上前人已經有不錯的作品可供使用…等眾多原因。所以,面對終端系統,我們必須要去套用跟上述硬碟驅動程式一樣的邏輯來看待:大部分的大眾消費者根本沒有心思去弄懂磁柱是幹什麼用的?更別想訓練他們上Freshmeat下載軟體或是讓他們愉快地面對不能百分百成功讀取Word檔案的OpenOffice。
雖然說目前看出來Linux陣營裡面也往正確方向走出幾步,像是大家開始瞭解低階部份應該要有一致的標準(如LSB),並提出整體的人機界面標準(如KDE、GNOME),建立一個新Linux套件運動也耕耘了好一段時間,但是我們仍難免擔憂其步調是如此不統合協調。
雖然隱憂仍在,但是隨著Linux越來越受到注目,對於其在終端系統平台的發展是越顯樂觀。政府或是商業組織也慢慢地基於成本、基於對微軟壟斷的反制或是其他政治性的考量,將目光放到Linux系統上面。Linux在開發中國家相當受到歡迎,這當然對Linux的發展有其正面的影響,不過這並不代表是成功的保證。我依然相信「利益考量」才是最關鍵的影響因子(這同時是Linux的考驗與機會)。我個人比較希望看到有人提出不一樣的方式來親近 Linux —- 或許正像是現在Apple推出的Mac OSX。
我已經停止在我的主要電腦上面使用Linux(用Mac OSX替代)。我工作時使用Linux,而回家則透過VirtualPC操作。一般說來,我們通常都可以在Mac OSX上面做到Linux上面能做的事情,而且效能上不會耗損太多。
Mac OSX
從我購買第一台Apple電腦使用到現在其實時間並不算長(2003 / 04 / 01),但是我相當贊同Apple所製定的Mac OSX發展方向。關於這部份我已經在前面的文件提過我的看法和相關介紹,所以我想你可以從這些論述裡面看看是否符合你的需求。
Mac OSX計畫要隨著時間成熟,逐漸成為一個烏托邦理想般的系統。如果你擔心Mac OSX會讓你疏離 * nix,那我要說你大可放一百二十萬個心,因為Mac OSX在提供Unix環境方面真是多采多姿:Mach、FreeBSD、優秀的驅動程式開發環境以及大量的系統原始碼供君使用。
假如你習慣使用 * nix環境(包含Linux),你能在Mac OSX這平台上面找到很多一樣地或是相似的軟體:你可以自己編譯原始碼或是找到已經port過來的軟體。
之前我們曾經在《Mac OSX上可用的軟體》這篇文章中提到相當多具有專業水準的軟體,你都能找到Mac OSX版本。跟其他系統很不一樣的是,透過跟Unix世界的融合互用,其實Mac OSX上面軟體的豐富程度就像是Windows世界一樣。當然Apple自己也一直致力於在自家平台上面開發有用的軟體。
Apple傳統上一直都是致力於讓產品易於使用,雖然說偶爾有例外發生,但是就我個人的意見,Mac OSX絕對會是這個目標—最佳效率—的最佳代言人。Apple這給年來致力於彙整許多技術,並將開放原始碼世界裡面的技術包上華麗的包裝,一起整合到這個優秀的系統上。
到目前為止,還沒有我想要作但是在Mac OSX這平台上面作不到的事情。
本文由張元毓所翻譯,本人保有一切法律權利。
Copyright@ alan chang