好文章,一起欣赏一下!:-)转载李维《我的回憶和有趣的故事 》(0分)

Y

yankk

Unregistered / Unconfirmed
GUEST, unregistred user!
聲明
以下的這篇文章內容是我個人的回憶以及看法,沒有任何特別的偏見,許多的事情是根據我的
記憶以及從許多人的訴說中得知的,也許內容不是百分之百的正確,不過我想這些內容有一定的
可信度到是可以保證的。當然有一些事情確定的發生時間和順序不一定都和我的記憶一致,不過
我想大部份應該是相去不遠的。當然各位如果知道確定的事件而我的記憶有誤,那麼我將非常歡
迎您糾正我,我希望這些故事的經歷能夠一直陪我走下去,謝謝。
一直想寫一篇我個人在過去10多年來工作中經歷的一些事情,以及看著一些我認為是偉大的工
程師在這些日子中對於資訊界的貢獻。如果你和我的年齡差不多,那麼你可能會對於這些內容
很有興趣,因為它們說明了當時許多軟體的興起和沒落的過程以及原因。雖然這些事情已經距
離我們很遙遠了,但是我相信許多人仍然對於背後的故事有興趣。如果你沒有經歷過那段美好的
回憶,那麼就把這些內容當成是一個有趣的故事來看吧。但是我想更重
要的是讓我們一起認識一些偉大的人物,我對於其中的許多人都非常的佩服,也非常的羨慕。
我常常在想,如果我也有他們的環境,我是不是也能夠和他們一樣這麼有成就呢?這些人對於以
往都有重要的貢獻,在未來也將仍然有重要的影響,因為他們都有一身不凡的技術。對於許
多重要的人我都儘量的收集了他們的照片,讓各位也能夠看看這些優秀的工程師和傑出的人
物。當然,如果各位也能夠從這些內容中學習到失敗的原因以及成功的經驗,那麼這篇文章
就更有價值了。
和Borland的緣由

記得我在大學時第一個在PC上使用的軟體便是SideKick,至今我仍然無法忘記這個讓我津津
樂道的軟體,而Borland在當時也就是以SideKick成為全球知名的軟體公司。不過Borland第
一個奠立創業基業的軟體卻是我大二使用來交作業的Turbo Pascal。而Turbo Pascal也是第
一個我聽到關於Borland的有趣的故事
當年Philippe Kahn (Borland的創使人)和Anders Hejlsberg到美國創業時,便由Anders以組
合語言撰寫了Turbo Pascal的編譯器,而Philippe則包辦了Turbo Pascal其他的部份。在這兩
位人兄開發完Turbo Pascal之後,窮得快連登廣告的錢都沒有了。但是Philippe為了在Byte雜誌
(還記得這個著名的雜誌嗎?)刊登Turbo Pascal的廣告,因此和Anders商量了一個方法,那就是一
天他們約了Byte雜誌的人到當時Borland的辦公室討論刊登廣告的事情。
當Byte的人到了Borland之後,Philippe,Anders和公司的助理小姐故意忙著接電話,接受Turbo
Pascal的訂單,並且告訴Byte雜誌的人等一下。過了一陣子之後Philippe才進入房間向Byte的人道
歉,說他們的Turbo Pascal受到市場的熱烈歡迎,訂單源源不斷的到來,因此可能不需要在Byte雜
誌刊登廣告了,接著Philippe向Byte的人展示Turbo Pascal這個產品。由於在當時的機器中Turbo
Pascal能夠在少少的RAM中常駐執行,又提供閃電般的編譯速度,立刻讓Byte雜誌的人震驚在當場,
憑著專業知識和豐富的經驗,Byte的人也立刻知道這將是一個革命性的軟體,因此馬上希望Philip能
夠在Byte雜誌刊登Turbo Pascal的廣告,並且願意以半價刊登。當然,Philip也立刻的答應了,於
是一個革命性的軟體Turbo Pascal終於在Byte雜誌刊登出來了,售價49.99美元的Turbo Pascal
立刻為Borland帶來了大量的財富,Turbo Pascal也立刻的成為PC上除了基本的Basic之外最暢銷的

發工具,也正式揭開了Borland影響PC開發工具10幾年的序幕。
在Turbo Pascal之後,Borland接著推出了SideKick這套軟體,SideKick可以說是隨後著
名的記憶體常
駐軟體(TSR)的始祖,也是讓Borland跨出開發工具界,讓幾乎所有PC使用者認識Borlan
d的關鍵軟體。當然SideKick也很快的成為了全球的暢銷軟體,繼續的把Borland往頂尖
的軟體公司上推。
而Turbo Pascal也成了我大二,大三撰寫作業的最愛,幾乎所有的作業都是使用Turbo
Pascal完成的,當然其時Horowise的Data Structure這門課也是使用Turbo Pascal過關的
,因此從那個時候開始我便非常喜歡Borland這家公司,慢慢的也開始對Borland有了特別
的感情。
大二時Microsoft也推出了Microsoft Pascal,但是它和Turbo Pascal的確是有一段差距,
我使用了一次之後便把它丟到垃圾桶。稍後Borland也推出了Turbo Basic,我記得這個編
譯器非常的棒,編譯速度就和Turbo Pascal一樣,是一個非常有前途的產品。但是我不知
道為什麼它只有1.0,之後便和Microsoft Pascal一樣消失了。我聽說Microsoft和Borland
互相交換條件,Microsoft不進入Pascal的市場,而Borland則退出Basic的市場。至於是不
是真的我就不得而知了。
在大二初次的接觸到C語言,第一本閱讀的書便是王興隆先生寫的C語言,也從此開始和C語
言結下了淵源。平生第一個使用的C編譯器便是Lattice C,不知道還有沒有人記得。我還記
得那個時候使用2個5又1/4磁片抽換以便編譯C程式的情景。稍後Borland終於推出了風行天
下的Turbo C編譯器,當然,從此之後Turbo C便成了不離身的工具,而Borland也藉由Turbo
C這第三項暢銷產品邁向了世界前10名的項尖軟體公司。
當完2年的兵之後,我在中研院首次使用了C++語言,第一個使用的C++編譯器則是Zortech C/C++,
這家公司稍後被Symantec收購成為Symantec C/C++的核心,這個故事稍後再說。後來Borland也推出
了Turbo C/C++ 1.0這第一個C/C++編譯器,但是在我和Zortech C/C++比較之後,還是覺得Zortech
C/C++比較好,因此就繼續使用Zortech C/C++。一直到Borland的Turbo C/C++ 2.0編譯器推出之後,
才逐漸成為C/C++語言的王者,而我也像以往一樣把Zortech C/C++換成了Turbo C/C++。
在1991年到Georgia Institute Of Technology唸碩士時,終於使用自己的零用錢美金49.99購買了
生平第一套的正版軟體Turbo C/C++ 4.5,隨後又購買了Borland Pascal。在畢業前的一個Quarter,
Microsoft 推出了Microsoft C/C++ 6.0以及MFC 1.0,由於是第一個C/C++的Framework,因此也花了
一些錢購買了一套以便瞭解MFC。但是在收到之後卻很失望,因為Microsoft C/C++ 6.0仍然沒有圖形
整合發展環境,還是在DOS下的整合發展環境,而且MFC 1.0以我的眼光來看又不好用,而且Microsoft C/C++
6.0的C/C++最佳化編譯器在其時是一個笑話,不但產生的程式碼效率不好,甚至會產生錯誤的程式碼,許
多雜誌也稱Microsoft C/C++ 6.0是一個平庸的(Mediocre)產品。因此就把它丟在一邊。在Microsoft C/C++ 6.0不
久之後,Borland終於推了Borland C/C++ 3.0。而這套軟體也開啟了Borland雄霸C/C++編譯器常達5,6年之久的序幕。
Borland C/C++ 3.0推出之後由於擁有第一個在Window下的穩定的圖形整合發展環境,而且它產生的最佳化程式碼也是
Microsoft C/C++ 6.0望塵莫及的,因此很快的幾乎所有的C/C++程式師轉而使用Borland C/C++ 3.0。因此在那個時候有
一個現象,那就是幾乎所有的公用程式或是Shareware都是使用Borland C/C++開發的,許多硬體廠商的驅動程式也是使用
Borland C/C++ 3.0來撰寫的。
1992年我取得Georgia Institute Of Technology的碩士學位之後最想進入的公司便是Borland和Microsoft,不過最後我還
是決定回台灣工作。在此時Borland也進入了最巔峰的時期,因為Borland推出了Borland C/C++ 3.1。
Borland在Borland C/C++ 3.0獲得空前的勝利之後,並沒有鬆懈下來,因為Borland知道Borland C/C++ 3.0還缺了一個最重
要的勝利因子,那就是如同Microsoft的MFC一樣的C/C++的Framework,因為Borland也看出了Framework將會是未來C/C++產品
中最重要的一環科技。不過Borland此時面臨了一個重要的十字路口,那就是到底要自己開發一個和MFC抗衡的Framework,還
是要如何做。因為如果要自己開發Framework,那麼勢必要花上一些時間,但是Borland想趁
Borland C/C++ 3.0如虹的氣勢再下一城,以便徹底擊潰Microsoft C/C++。因此最後Borland
決定向一家叫White Water的公司購買一套由這家公司開發的一個Framework,這套Framework便
是後來鼎鼎大名的OWL的源流。而Borland也因為向White Water購買了這套Framework,因而也引
進了一個日後非常重要的人物,那就是後來負責開發Delphi的一員大將 - Zack Urlocker。
 
C/C++的光榮戰役
在Borland購買下White Water的C++ Framework之後,便更命為OWL(Object Window Library),並且很快的推出了以OWL 1.0
為核心的Borland C/C++ 3.1。由於OWL比當時的MFC 1.0封裝的更為完整和好用,再加入Resource Workshop視覺化能力,以
及Borland C/C++ 3.1自己最強勁的編譯器和整合發展環境,因此立刻的風靡了全世界,其受歡迎的程度更是遠遠的超過了它
的前一版本Borland C/C++ 3.0。
由於Borland C/C++ 3.1的暢銷,立刻讓Borland在C/C++市場一舉擊潰了Microsoft C/C++,市場佔有率超過了50%,是全球第
一的C/C++產品,也把Borland推上了最高峰,成為全世界第三大的軟體公司。
很快的,我所工作的開發小組也立刻的以Borland C/C++ 3.1來開發系統,Borland C/C++ 3.1也是我使用過Borland最穩定的
C/C++版本之一。也由於那個時候一天到晚都使用C/C++工作,因此就有了一些小心得。稍後我整理了一些東西便投稿到剛出刊
不久的RUN!PC,也許是運氣不錯,RUN!PC很快的也登出了我的文章。就是這篇文章登出之後,台灣的Borland注意到了我,開
始和我連絡,並且從此展開了和Borland的互動。而Borland C/C++ 3.1也是第一套Borland免費送我的軟體,當然代價就是希望
我多寫一些Borland產品的文章。
接著Borland又計劃推出Windows版的Borland Pascal,不過在Borland開發Borland Pascal For Windows 時,當時(現在也還是)
最具盛名的Charles Petzold(我的第一本Windows 程式設計的書就是這位仁兄寫的,相信許多人也是看他的書一路學來的)就說除
了C/C++之外,Borland不可能做出能夠在 Windows 下執行的Borland Pascal,不過很明顯的,即使是Windows API的大師Charles
也錯了。Borland不但做出來了,而且Borland Pascal For Windows 還非常的暢銷,當然Borland Pascal For Windows 也是後來Delphi的根基。
當時的Borland可說是不可一世,不但產品大賣,而且日進斗金。Borland在Scotts Valley豪華的總部也是在那個時候由Philippe Kahn
大手筆的花了一億多美金搭建的(想想10年前的60多億台幣可以蓋什麼樣的房子?)。不過也許是Borland太成功了,因此也開始讓Philippe Kahn漸
漸的養成了好大喜功,目中無人的態度,也種下了Borland開始走向衰退的因子。
 
不過在Borland最強盛的時期,當然也就是Microsoft最想痛宰Borland的時候,在這個時候發生了一個著名
的事件和一個著名的虛擬人物。話說由於當時Microsoft的開發工具一直打不過Borland的產品,因此在Microsoft
的開發工具刊物上便出現了一個作者不斷的以文章嘲笑Borland,這個作者的筆名是Buck Forland。後來由於
這位作者的文章內容以及他的筆名引起了當時Borland的不滿以及大量Borland使用者的強烈抗議,因此稍後這位
作者就突然的消失不見了。因此有許多人就推測這個作者應該是Microsoft的工程師,由於一直無法打敗Borland
的產品,腦羞成怒,因此才會以這個筆名來發洩。如果各位看倌到現在還摸不著頭為什麼這個筆名會引起軒然大
波,那麼請你試著把Buck Foland這兩個英文字的第一個字母一對調就知道為什麼了。現在各位是否會心一笑了?
在Borland C/C++ 3.1大獲成功之後,Borland卻開始鬆懈了下去,並且開始走下坡。當然這有許多的原因,我所知其中最重要的原因有數項 :
■Philippe Kahn和當時Borland C/C++的產品經理鬧翻了。這位Borland C/C++的產品經理的名字是Eugene Wang,他
是一位非常聰明的中國人。他一手把Borland C/C++ 帶到了世界第一的地位,並且在Borland C/C++ 3.1成功之後有了更偉大的想法,
那就是 Eugene Wang 想在下一個Borland C/C++版本中完整的以OWL封裝所有的Windows API,因為OWL 1.0雖然比MFC 1.0來得優秀,
但是OWL的隱憂就是OWL尚未完整的封裝所有Windows的API。此外Eugene還計劃以OWL為核心,開發一個類似今日Borland C/C++ Builder
的以視覺化元件為開發方式的開發工具。請各位想一想,如果在當時Borland能夠開發出這種C/C++開發工具,那麼將會是一個多麼可
怕的產品,稍後Microsoft的Visual C/C++ 1.0只是能夠在整合發展環境中自動產生MFC的程式碼就立刻的轟動了C/C++市場,造成了大
量程式師轉入Microsoft的陣營。即使是目前的Borland C/C++ Builder使用的Framework仍然是以Object Pascal以核心的元件Framework,
而不是純粹的C/C++程式碼。如果當時 Eugene Wang 能夠做出他心中的下一版Borland C/C++,那麼我想到現在Borland C/C++可能還是市
場中第一的C/C++開發工具。不過很不幸的是,Eugene Wang 稍後和Philippe Kahn發生了爭執,Eugene Wang 一氣之下離開了Borland。
而Philippe Kahn則認為Borland C/C++的地位已不可動搖,因此也沒有想立刻的做下一版的Borland C/C++。這樣一拖竟然浪費將近2年的時間。
Microsoft Visual C/C++ 1.0在Borland C/C++ 3.1 2年之後推出,並且立刻獲得市場好評。不但在編譯器方面能夠和Borland C/C++ 3.1相抗衡
,在整合發展環境方面更大幅領先了Borland C/C++ 3.1,還能夠自動產生MFC的程式碼,再也不是昔日的吳下阿蒙。直到此時Philippe Kahn才從
夢中驚醒而急於開發下一代的Borland C/C++ 4.0,但是為時已晚,C/C++的開發工具市場從此就開始逐漸的被Microsoft蠶食了。
Eugene Wang在離開Borland之後,立刻的被Symantec所網羅,稍後Eugene Wang也在非常短的時間之內為Symantec開發出了著名的Symantec C/C++。
Symantec C/C++在當時被所有的技術刊物評比為擁有最棒的整合發展環境和最有創意的C/C++開發工具,從此可見Eugene Wang的功力。不過
Symantec C/C++稍後也不敵Microsoft Visual C/C++,這個故事的原因在稍後四大C/C++編譯器之爭的段落中再詳細的說明。
我最後聽說Eugene Wang跑去做生意了,並且在前幾年寫了一本教導科技人員如何面試的書籍。我,一直很痛心Borland失去了這麼一位優秀
的人材,我常想如果當初Eugene Wang沒有離開Borland,那麼歷史就可能不是現在的這樣了,Sign!!!
■Philippe Kahn大手筆的花了一億多美金買下了Ashton-Tate公司和dBase。在當時許多人都批評Philippe Kahn做了不值得的事情,
因為Ashton-Tate不值這麼多錢。但是由於當時Borland多的是錢,因此Philippe Kahn也不多意。不過這並不是Borland走向逐漸走向衰敗的
主因,而是在Borland買下了dBase之後,並沒有立刻積極的發展dBase For Windows,反而把dBase丟在一旁。這個原因便是當時Borland的另
外一個和資料庫有關的產品Paradox賣得也很好,因此Philippe Kahn並不急著打算開發dBase For Windows。不過Philippe Kahn忘記了一件事
情,那就是當時在市場大量人口的dBase程式師需要一個好的Window版dBase,但是Philippe Kahn購買了dBase卻不提供Windows 版的解決方案。
因此當稍後Microsoft以極小的代價買下Fox這家公司,並且在數年之後推出FoxPro For Window,吸引了大量原先的dBase程式師以及Paradox的
程式師之後,Philippe Kahn才警覺事情不對而充充忙忙的開發dBase For Windows。但是當dBase For Windows 推出之後,Microsoft早已推出了
兩個FoxPro For Windows 的版本,而佔據了大部份的市場,dBase For Windows其勢已不可為了。
■Microsoft開始向Borland挖角。由於Microsoft在許多的開發工具戰役中一直被Borland打得灰頭土臉。更何況Borland C/C++ 3.1幾乎搶佔了大
部份的市場,因此Microsoft開始準備好好的對付Borland。但是由於其時Borland在編譯器的技術領域領先了Microsoft數年之久,Microsoft無法在
短時間之內趕上Borland,因此Microsoft決定使用最有效的方法立刻追上Borland技術,那就是直接挖角。因此稍後Microsoft的Visual C/C++小組有60
%的成員是從Borland挖來的,這個舉動不但立刻的讓Borland流失了大量的優秀技術人才,也在數年之後造成了Borland控告Microsoft的導火線。不
知道各位看到這裡有什麼感覺,或是沒有感覺。不過我總是覺得Microsoft使用了不好的手段來競爭,並不是光明正大的擊敗Borland,而是使用了不公平的競爭手段。
Philippe Kahn在這段時間不但讓Borland C/C++被Microsoft Visual C/C++反敗為勝,也痛失了幾乎所有dBase的市場,更浪費了大量的金錢,和流失了大量
的優秀人員。在這些重要的原因之下,Borland已經不可避免的開始走下坡了。
我最後一次看到Philippe Kahn時是在1994年未於亞特蘭大(Atlanta)參加國際Conference時,還和他打了一聲招呼。後來Philippe Kahn離開了Borland,另
外創立了StarFish這家公司,稍後StarFish也被Motorola併購。雖然Borland由於Philippe Kahn一些錯誤的決策而逐漸的從巔峰開始下降,但是Philippe Kahn
也不愧為一個人物。因為Philippe Kahn能夠和Bill Gates一直周旋數年之久,而同一時期的許多公司,例如Lotus都一一的被Microsoft所擊敗,因此Philippe Kahn
還有一套的。此外Philippe Kahn也是唯一一個擁有工程師特性的Borland CEO,Philippe Kahn仍然重視技術產品和技術人員。但是Borland隨後的CEO幾乎都是Marketing,
Finance或是Sales出身的人,這真讓我懷念以往以產品和技術為優先的CEO了。
看完了上面這段今人傷心的歷史之後,再讓我們看看當Borland在受到Microsoft Visual C/C++的強大衝擊之後,如果思索反擊之道。在這段期間也出現了令
我敬佩的第一個Borland技術工程師,Carl Quinn。
Carl Quinn在Microsoft Visual C/C++ 1.0推出之後,立刻奉命開發一個能夠和MFC相抗衡的全新OWL,而Carl Quinn也是數年後JBuilder的JBCL Framework
的靈魂開發人物。Carl Quinn不但負責開發OWL,也為Borland在元件Framework的技術領域立下了重要的貢獻。由於Carl Quinn的投入,因此開啟了OWL大戰MFC,
Borland C/C++纏鬥Visual C/C++數年精彩好戲的序幕。

Carl Quinn到現在我還記得和敬佩的人物,讓我再一次的向他致敬,並且介紹他讓大家認識。



Carl Quinn-我第一個佩服的Borland工程師
 
Borland C/C++的反擊

未完待續……
 
原文来自http://forum.vclxx.org/topic.asp?TOPIC_ID=2679&FORUM_ID=40&CAT_ID=7&Topic_Title=%5B%AA%F8%BDg%5D+%A7%DA%AA%BA%A6%5E%BE%D0%A9M%A6%B3%BD%EC%AA%BA%ACG%A8%C6&Forum_Title=%A7%F5%BA%FB%C5%AA%AA%CC%B1M%B0%CF
 
精彩文章!感谢午夜不辞辛苦上载!
 
没什么,希望大家以后见到好的文章也copy过来,让大家一起欣赏一下!:-)
建议坛住能给留言加上自动换行功能,为了打回车几乎花了我20分钟的时间,累死了,呵呵
 
是李维的回忆录吗?写得有意思
 
比较精彩
我似乎又在读金庸的武侠小说了,
 
好东西,叫人联想到很多东西
 
感慨啊,
我记得delphi3。0发布的时候,delphi小组的领导人好像也是被微软挖走了,
然而微软依旧没有作出一个象delphi这么伟大的东西。
 
请继续!
 
文章發了那麼久了,大家都看了吧!結束了啊!
 
顶部