L
luaijun
Unregistered / Unconfirmed
GUEST, unregistred user!
李维:我的回忆和一些有趣的事(精彩绝伦)
转贴 出处: http://forum.vclxx.org/
聲明
以下的這篇文章內容是我個人的回憶以及看法,沒有任何特別的偏見,許多的事情是根據我的記憶以及從許多人的訴說中得知的,也許內容不是百分之百的正確,不過我想這些內容有一定的可信度到是可以保證的。當然有一些事情確定的發生時間和順序不一定都和我的記憶一致,不過我想大部份應該是相去不遠的。當然各位如果知道確定的事件而我的記憶有誤,那麼我將非常歡迎您糾正我,我希望這些故事的經歷能夠一直陪我走下去,謝謝。
一直想寫一篇我個人在過去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使用者認識Borland的關鍵軟體。當然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 位於美國加州 Scotts Valley 總部
不過在Borland最強盛的時期,當然也就是Microsoft最想痛宰Borland的時候,在這個時候發生了一個著名的事件和一個著名的虛擬人物。話說由於當時Microsoft的開發工具一直打不過Borland的產品,因此在Microsoft的開發工具刊物上便出現了一個作者不斷的以文章嘲笑Borland,這個作者的筆名是Buck Forland。後來由於這位作者的文章內容以及他的筆名引起了當時Borland的不滿以及大量Borland使用者的強烈抗議,因此稍後這位作者就突然的消失不見了。因此有許多人就推測這個作者應該是Microsoft的工程師,由於一直無法打敗Borland的產品,腦羞成怒,因此才會以這個筆名來發洩。如果各位看倌到現在還摸不著頭為什麼這個筆名會引起軒然大波,那麼請你試著把Buck Foland這兩個英文字的第一個字母一對調就知道為什麼了。現在各位是否會心一笑了?
Philippe Kahn-Borland的創始人
在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++的反擊
火線全開
Borland除了在開發工具市場和Microsoft熱戰之外,其時和Microsoft ,Lotus鼎足而立的Borland看到Microsoft和Lotus正在試算表工具以及文書處理工具大戰之暇,不思好好的集中資源開發新的開發工具和資料庫工具(下一節會詳說),也不甘寂莫的投入了大量的資源進入這個慘烈的市場。也許是當是Borland太有錢了,或是Philippe Kahn腦袋有問題,居然決定進入這個Borland陌生的市場,更何況在Borland投入時Lotus已現敗象,市場已經慢慢的被Microsoft所一步一步的掌握了。
Borland進入Office市場的第一個產品便是著名的Quattro Pro這個試算表,雖然Quattro Pro是一個不錯的產品,而且當時由Borland C/C++編譯器所開發的Quattro Pro在執行效率上幾乎是最好的,但是Borland沒有想到使用試算表的使用者是一般的辦公室人員,這些人注重的是方便性和功能性,而不是最重視執行速度,這和開發人員是不一樣的。Borland以開發者的心態來開發試算表工具基本上是走錯了方向。因此我記得在那段時間中,雜誌評比Microsoft的Excel,Lotus的1-2-3和Borland的Quattro Pro時,在功能方面領先的都是Excel和Lotus,在執行效率方面領先的則是Excel和Quattro Pro。到了試算表熱戰的未期1-2-3甚至比不上Quattro Pro,因此Lotus敗走試算表市場已是不可避免的結果了。
不過Borland雖然贏了1-2-3,但是和Excel仍然有一大段的距離,Microsoft一統試算表江山之勢已不可搖,因此最後Borland在損失了大量的資源之後,Quattro Pro只能賣給Novell。除了Quattro Pro之外,Borland也投入了很多的資源秘密的開發一個代號稱為Spring的文書處理程式準備和Microsoft的Word以及WordPerfect競爭,這可能是許多人不知道的。但是這個產品最後仍然無法問市而胎死腹中,在文書處理市場方面Borland不但浪費了時間,更虛擲了大量的資源。Philippe Kahn在Office產品方面消耗了Borland大量的金錢和時間,卻落得鎩羽而歸,更連累了開發工具市場以及最有可能成功的資料庫產品市場。
另外一個和Borland無關的故事是關於Excel如何興起的。話說當Lotus 1-2-3最盛的時期,Microsoft一直計覬覦這個市場,但是苦於無法開發一個能夠和1-2-3相競爭的產品。有一次Lotus 1-2-3舉辦了一個Lotus 1-2-3的技術研討會,由當時Lotus 1-2-3的首席工程師主講。在Microsoft知道了這個技術研討會之後,立刻派出了最好的程式設計師,在現場詢問Lotus是如何開發1-2-3的並且也趁機詢問這位首席工程師如何克服1-2-3在許多技術方面的難點,而這些困難處正是 Microsoft 的工程師無法克服的。
當時在現場中Lotus的這位首席工程師雖然知道這些人是Microsoft派來的,而且詢問的問題正是1-2-3許多關鍵的技術點。但是這位首席工程師憑藉著多年開發經驗,並且認為Microsoft不可能在短期之內追上1-2-3,因此就沒有多做保留的回答了許多重要的問題。沒有想Microsoft的這些程式師也是非常聰明的的人,在一經指點之後,立刻暢然全通,在短短的1,2個版本之後不但馬上追上了1-2-3,在許多功能方面更是青出於藍,1-2-3便逐漸失去優勢了。我想這位1-2-3的首席工程師一定很後悔當時回答了關鍵的技術問題吧。
結論 : 千萬不要小看Microsoft,他是非常精於模仿的,也永遠不要小看你的對手。
資料庫市場的失誤
當Borland全盛的時期,事實上也是發展資料庫產品最好的機會。因為在當時Borland手握DOS最暢銷的Paradox,又併購了Ashton-Tate而擁有世界大部份dBase的市場,後來又從 Digital 取得了真正的 RDBMS-InterBase,可以說是全世界資料庫實力最雄厚的廠商。當時的 Oracle 和 Borland 比起來,簡直是小巫見大巫,而 Sybase 更不知道在那裡。如果當時 Borland 能夠好好的掌握這個機會,並且極力發展資料庫產品的話,那麼現在Borland 就算不是世界第一的軟體公司,也將是世界第二的軟體廠商。
可惜 Philippe Kahn 並沒有看到這個在年代80未到90年代成長最快速的產品。說句笑話的是,如果當時Philippe Kahn的死對頭Bill Gates早一點對 Philippe Kahn 說出Information At Your Finger-Tip』的話,那麼 Borland 就可能是現在的 Oracle 了。
說到資料庫市場就不得不對 Microsoft 的眼光佩服,也可以看到Microsoft行銷能力的強悍。當Microsoft以FoxPro For Window強佔了開發者的資料庫市場之後,又看到了一般使用者也需要使用簡易好用的資料庫管理工具。因此發展出了Access。但是當時在這種市場中,Paradox佔有開發者的資料庫大部份的江山,而一般使用者的資料庫管理工具市場則由Lotus的Approach拔得先機。Microsoft為了扳回劣勢,我還記得在當時Visual Basic 3的套裝軟體中Microsoft附了一張優待卷,只要800新台幣就可以買一套Access。這簡直就是流血大拍賣,目標很明顯,就是當時在市場中賣1萬多元的Lotus Approach。果然,Microsoft此招一出,Approach便在市場被Access打得落花流水,很快的便失去了市場,也很快的退出了市場。從此一般使用者的資料庫管理工具市場便逐漸由Access所取代。
但是Borland並沒有警覺到Access會繼續的往開發者市場進功,因此仍然沒有加緊在Paradox產品上開發,Borland總覺得以Paradox在市場的地位是無法輕易憾動的,而且Access的目標市場也不是Paradox的市場。但是Borland忘記了Microsoft非常散擅長模仿,因此在隨後的Access版本中,Microsoft不斷的為Access加入可程式設計的功能,因此也逐漸的吸引了一些Paradox入門使用者的市場,再加入FoxPro For Window又持續的強功開發者資料庫市場,Paradox終於在背腹受敵之下也逐漸的敗下陣來。雖然在未期Philippe Kahn已經對Paradox投下重兵,希望能夠挽回Paradox的劣勢,奈何時不我予,Paradox在奮鬥了Paradox 6和Paradox 7的2個版本之後,終究難逃失敗的命運。
當時我看到Microsoft如何打擊競爭對手時,我就和朋友開玩笑的說。Microsoft有天下無敵的3絕招,那就是『打不過你就模仿你(這讓我想起電影秘密客(Mimic) ),再打不過就和你比流血,看誰流得久(這讓我想起吸血鬼),最後如果再不行的話,那就挖光你的人(這讓我想起電影 Other People's Money)』。Lotus就在Microsoft的前2個絕招下到地不起,而Borland還算是功力深厚的了,連中了3絕招,雖然不像Lotus和許多其他公司一樣從此Bye-Bye,但也是受傷極重的了。
ODBC和IDAPI之爭
當Microsoft在逐漸的擊敗他的競爭對手,並且擁有了大部份PC資料庫市場之後,便慢慢的瞭解到掌握標準的重要性。此外Microsoft為了統一各應用程式之間不同資料的存取,因此開始製定存取資料的統一標準-ODBC。
Microsoft更大的目的是為了準備和瞄準下一場的大戰,那就是PC上的RDBMS產品。
當然,Microsoft要一統資料存取的江山,Borland不同意,其時一心想從Microsoft扳回一城的IBM也不同意,而Novell更是害怕,因為Novell怕Microsoft成功之後,Netware會消失得更快。於是IBM,Novell和Borland以及一些其他的小廠便聚集在一起,決定也製定一套存取資料的標準介面來和Microsoft對抗,這個製定的資料存取標準便是IDAPI。此時也正式揭開了ODBC和IDAPI競爭的序幕。
不過IBM,Novell和Borland的結合很快的就證明是失敗的,因為就像稍後說明的一樣,IBM在PC軟體上的發展一直是三心二意,反反覆覆,因此當IDAPI 1.0的規格出來之後,IBM這位老兄又失去了和Microsoft對抗的興趣,於是就退出了IDAPI聯盟。至於Novell就更不用說了,Novell對於和Microsoft一象是『說說可以,真打不行』,一定要找到一群廠商才敢和Microsoft對抗。Novell在眼看IBM推出之後,也馬上不戰而降,很快的就也退出IDAPI聯盟,這個現象和稍後Novell對於和Borland秘密合作的Appware/AppBuilder計劃如出一轍,都是虎頭蛇尾,草草收場。
在兩個大ㄎㄚ臨陣脫逃之後,Philippe Kahn仍然不畏懼Microsoft的競爭,還是以IDAPI 1.0的規格實作資料存取引擎,這就是我們現在使用的BDE/IDAPI和SQL Links的前身。當時IDAPI 1.0的功能規格比ODBC 1.0好得多了,我記得Delphi 1.0使用的BDE/IDAPI和SQL Links驅動程式也比當時慢得像烏龜的ODBC快上太多了。只可惜在IBM和Novell推出之後,其他的小廠也是一轟而散。因此Borland只能靠自己獨自和Microsoft對抗。Borland能夠以少量的資源一直對抗到Delphi 3的BDE/IDAPI才逐漸的被ODBC追過,也算是非戰之罪了。怪也只能怪Borland意志不堅的盟友。當然由於IBM和Novell的行事做風是如此,在稍後許多能夠和Microsoft一較長短的機會也因為如此而消逝,最後自食惡果,逐漸失去了PC的軟體市場,再也無力和Microsoft抗衡了。
現在呢Borland似乎記取了當時的錯誤, 正努力的在Linux上定義標準資料存取介面dbExpress, 我希望也祝福Borland能夠成功.
未完待續……