Ⅰ RAR的壓縮方式
p Katz)被人發現倒斃在美國威斯康星州密爾沃基的一家汽車旅館里,據說死因是慢性酒精中毒引起的並發症。被人發現時,卡茲的手中仍握著一個烈性酒的酒瓶,在同一個房間里還發現了另外5個空酒瓶。這個噩耗很快就通過Internet傳遍了世界,很多認識和了解卡茲的人們以不同的方式對這個不幸的消息發表評論,寄託哀思。你一定會好奇地問,這個菲利普·卡茲究竟是何方神聖?
說起菲利普·卡茲這個名字,很多人可能都茫然不知;但是相信一提到電腦里、Internet上那比比皆是的ZIP壓縮文檔,不知道的人就很少了。菲利普·卡茲正是ZIP這個大名鼎鼎的壓縮文檔格式的發明人,他開發的ZIP壓縮軟體PKZip在DOS時代已風行世界,成為人們使用最頻繁的工具軟體之一。今天,人們從Internet下載的文件幾乎百分之百是用卡茲發明的ZIP壓縮演算法壓縮過的。卡茲的這個發明和貢獻,在使電腦之間交換信息的方式變得更加方便的同時,也大大降低了成本。特別是在今天這個Internet大行其道而通訊速度和帶寬又很難令人滿意的情況下,ZIP壓縮軟體得到世界各地的電腦愛好者的歡迎和喜愛就是極其自然的事情。看看身邊有多少人在使用PKZip和Winzip,你就能真切地體會到菲利普·卡茲對於我們今天使用計算機的方式帶來的巨大影響。
壓縮軟體的爭斗
現在回憶起來,ZIP壓縮文檔標准和PKZip壓縮軟體的問世頗有幾分戲劇性的傳奇色彩。
時光要回溯到1988年,那時候的Internet還處在蒙昧的「原始時代」的後期,當時網上的信息遠遠沒有今天豐富,只是極少數大學、研究機構和美國軍方才能夠享用的「特權」,一般電腦愛好者很難有機會接觸。那個時代,風靡北美大地的是通過電話線接入的老式「電子公告牌」(BBS)系統。熱衷於電腦的「發燒友」們就通過這些現在幾乎已經絕跡的方式來交換信息、交流思想和共享軟體。由於電話線的數據通訊帶寬很低、干擾大、穩定性很差,再加上當時流行的數據機(Modem)的速率也只有14.4Kbps,通過BBS傳輸體積較大的軟體一直是讓人頭疼的難題。正是基於這種原因,文檔壓縮技術就變得極為有用。壓縮後的文檔一般只有原來體積的幾分之一,可以大大減少傳輸的時間,也提高了可靠性。
當時流行的文檔壓縮技術有好幾種,比較流行的一種是新澤西州的SEA((Systems Enhanced Associates)公司開發的ARC壓縮技術,壓縮生成的文檔的後綴是.ARC。ARC能很好地工作,但是你必須花錢去向SEA公司購買。1988年的時候,20歲出頭的菲利普·卡茲和很多同時代的年輕人一樣,穿梭於BBS的自由空間,沉迷於狂熱的編程體驗里。由於深受斷線的困擾,經常出沒於BBS的卡茲索性自己開發了一個與SEA的ARC完全兼容的共享壓縮軟體,取名PKARC。PKARC推出以後,很快就在BBS上廣為流傳,深受電腦愛好者們的喜愛。它和SEA ARC一樣工作得很不錯,最要命的是,由於是以共享軟體形式發布,人們可以隨意地使用,如果覺得滿意的話,才給作者付上很小的一筆注冊費用。有了近乎免費的PKARC,人們當然不會再為SEA的ARC付出不菲的代價。直接的後果是,很多人都轉向了PKARC——這個菲利普·卡茲的「業余作品」,SEA的ARC則銷量巨減。這無異於放倒了SEA的「搖錢樹」。惱羞成怒的SEA把卡茲告上了法庭,聲稱ARC壓縮標準是它的***,要求法庭禁止卡茲繼續傳播與其競爭的PKARC。雖然大多數的電腦愛好者都站在卡茲這邊,但法庭最終還是作出了不利於卡茲的判決。這個結果對卡茲是一個不小的打擊,他被迫放棄了PKARC這個心愛的軟體項目。最讓卡茲氣憤的是,他感覺自由創新的權利被人剝奪了。在朋友和同好們的鼓勵之下,憋足了一口氣的卡茲發誓要寫出一個更好的壓縮軟體,堂堂正正地擊敗SEA,而且要讓它輸得心服口服。這一次,卡茲的編程天才再次展露無遺。在短短的幾周以後,卡茲就拿出了後來統治整個BBS世界乃至Internet的ZIP。這個全新的PKZIP,使用卡茲發明的ZIP壓縮演算法,比SEA的ARC速度快了將近一倍,壓縮率也有一定的提高。卡茲繼承了PKARC的做法,將PKZIP免費發放,使其很快成為人見人愛的「殺手應用」(Killer Appliction)。沒有任何號召,遍及美國的各大BBS的管理員們都先後自發地將原有的.Arc壓縮文檔轉換成卡茲的.ZIP格式。經過不到半年時間,原來風光無限的SEA的ARC就幾乎絕跡了!取而代之的就是免費而且性能更加出眾的PKZIP。在失去眾多的用戶的支持以後,SEA迅速沉淪,最終銷聲匿跡。有人在後來對此事的評論中說道,「菲利普·卡茲無疑扮演了ARC掘墓人的角色,他為ARC的棺材釘上了最後一顆釘子!」
有關ZIP打敗強大的ARC和SEA的事跡成為了電腦愛好者們津津樂道的傳奇故事,疾惡如仇而又身手不凡的菲利普·卡茲也成為那些熱衷於編寫非凡程序的青年人的偶像。此後,卡茲一直繼續著對PKZIP的開發和維護工作。
PKZIP及其「克隆」作品Winzip成為Internet歷史上最有名的共享軟體之一,ZIP壓縮格式也成為壓縮文檔的事實標准,建立起一個統治Internet的「ZIP王朝」。菲利普·卡茲為世界貢獻了一個偉大的共享軟體,而他自己卻幾乎沒有從中獲得任何好處!
意外的結局
菲利普·卡茲的突然去世,對於他本人,對於他的家庭,乃至整個計算機界都是一個令人扼腕的悲劇。人們從此失去了一個才華橫溢的程序員,失去了一個傳奇英雄。噩耗傳出以後,在著名的IT網站ZDNET的新聞反饋頁面上,許許多多的網友留言體現了人們對卡茲早逝的惋惜和他生前成就的褒揚。正像來自南美洲巴拉圭的一位系統分析員在留言中寫到的那樣:「菲利普·卡茲和他的.ZIP壓縮格式必將得到永生。每一個.ZIP文件都將永遠記住菲利普·卡茲,因為每個ZIP文件的開頭都嵌有他姓名的字頭縮寫字母『PK』……」
也有報道指出,菲利普·卡茲的英年早逝除了與長年編寫軟體的巨大壓力有關外,也與其不良的個人生活方式關系密切。卡茲的直接死因,無疑是其長期酗酒惡習的悲劇結局。作為一名程序員,菲利普·卡茲獲得了巨大成功。但於之形成鮮明對比的是,在個人生活方面,卡茲卻一直很不順利。郁悶的結果讓卡茲覺得只能求助於酒精才能獲得解脫,而這最終讓他付出了生命的代價!數據壓縮和程序設計占據了卡茲短暫的生命歷程的絕大部分。他的傑作讓世界各地的人們從「壓縮」中獲益匪淺,然而,不幸的是,菲利普·卡茲的生命似乎也被令他得意非凡的壓縮軟體壓縮得那樣短暫。不知道這是不是造物弄人?
他們是程序員
人生如戲,戲如人生。對生活在無比精彩的計算機時代乃至互聯網時代的一代又一代和菲利普·卡茲一樣的天才程序員們來講,這句話如果改成「人生如程序,程序如人生」可能會更加貼切一些。這些在常人眼中聰明絕頂、特立獨行的古怪「傢伙」簡直就將程序看作了自己的生命,寫不出好用的軟體,對他們無疑是一場災難。在很大程度上,程序已經成為他們生命中不可割捨的一個最重要的組成部分了。這些充滿靈性的程序不再僅僅是玄妙無匹的0和1的排列組合體,它們根本就是嘔心瀝血的程序員們的人生哲學甚至整個人生的寫照。菲利普·卡茲或許只是一個極端的例子而已。
在這個劇烈變革的大時代中,我們並不缺乏偉大的程序員。他們中的絕大部分睿智、熱情、樂觀、無私,由於他們的天才與傑作,我們的生活和工作變得從未有過的精彩、豐富、刺激、舒適。被譽為「自由之神」的自由軟體陣營的精神領袖理查德·斯托曼(Richard Stallman)極力倡導的GNU計劃,吹響了計算機軟體進軍「共產主義社會」的號角;永遠擁有一張「娃娃臉」的比爾·蓋茨經過20多年的奮斗,成了不可企及的「微軟帝王」,每個人的桌上擺上一台PC的夢想很快就將成為現實;發明免費操作系統Linux的萊納斯·托沃茲(Linus Torvalds)讓人們看到了打破微軟霸權的希望曙光;被美譽為Internet上的「孤獨騎士」的拉里·沃(Larry Wall)因為偷懶而發明的Perl語言,成為目前Internet上使用最廣的編程語言……這些出色的程序員的故事,寫下來都是一段讓人不忍釋卷的傳奇。然而,使我們這個對信息的依賴日甚一日的世界良好運轉的是更多默默無聞地分布在世界各地的辛勤的程序員們。沒有這些忘我工作的人們,數字化社會就只能永遠是美好而遙遠的幻夢!有人將編程看成是一種藝術而並非技術,這在一定程度上不無道理。那是一種藝術家一般的靈感和激情的產物,美妙的程序是要用心、用血去書寫的。現在雖然時時聽到身邊的程序員悲嘆「我們吃的可是時光短暫的青春飯」,但真正因此「金盆洗手」而罷手不幹的還是少之又少。挑戰困難、勇於創新已經成為融入了每一個真正的程序員血液的特質,成為他們生命中不可分割的部分。他們也因為這些而贏得人們的尊敬。
在可敬、可愛有時甚至是可恨的程序員們的身上或許還存在這樣、那樣的問題,或許還遠遠談不上完美,但是我們不能對他們苛求太多。畢竟,他們和我們一樣,也是普普通通有血有肉的人。我們為他們創造的傑作和奇跡歡呼,為他們面對的失敗和失意惋惜,為他們遭遇的不幸和悲慘流淚,就因為他們是程序員!在這里,我們沒有任何誇耀或是貶低的潛台詞,因為那是世界上一部分真實人群的真實的生存狀態和生活方式,我們很難給其貼上對與錯或是好與壞的「標簽」,況且,我們也許根本就沒有這樣的權力。是非功過的評說,最有說服力的是時間……