0%
第五章 計算機中的精靈 其他BASIC語言

第五章 計算機中的精靈

其他BASIC語言

在海軍研究生院的另一名退學學生格倫·尤因的鼓動下,尤班克斯訪問了IMSAI公司,以便了解一下這家年輕的微機公司對他開發的BASIC語言是否有興趣。結果發現IMSAI公司對此並無興趣(至少開始時沒有興趣),不過尤班克斯並不感到失望。過了一段時間,他收到IMSAI公司發來的一封電報稱,該公司軟體部主任羅布·巴納比想要見他。此後不久,即1977年初,尤班克斯便與IMSAI公司的市場部主任西摩·魯賓斯坦洽談簽訂了一份合同,為該公司的8080微機開發一種BASIC語言。洽談中魯賓斯坦對尤班克斯提出了十分苛刻的條件。最後尤班克斯同意為IMSAI公司開發BASIC語言,並且為IMSAI公司提供該語言的有限分銷權,以換取一台IMSAI計算機和一些其他設備。尤班克斯仍然擁有BASIC的所有權。
1977年4月,在舊金山舉辦了首屆西海岸計算機博覽會。尤班克斯與他原來的教授加里·基爾多爾共用一個展台,展出了他的BASIC-E語言,這時基爾多爾已經創辦了數字研究公司。艾倫·庫珀和凱思·帕森斯也參加了這次博覽會,並且與尤班九*九*藏*書克斯再次相見。他們稱,他們對尤班克斯的BASIC語言作了一些修改,並且已經著手開發一些商務應用軟體,尤班克斯則問他們對他的IMSAI開發項目有何建議。此後不久,三個人決定展開合作。當尤班克斯修改BASIC語言,羅布·巴納比對它進行測試時,庫珀和帕森斯便開始在結構性系統集團公司的名義下編寫總分類賬軟體,也許這是最早用於微機的真正商務軟體。
戈登的學習也很刻苦。當他來到海軍研究生院時,不久就聽說有一位名叫加里·基爾多爾的從事編譯程序理論教育的教授。人人都說基爾多爾是個最嚴厲的老師,因此尤班克斯想,自己可以從這位教師那裡學到真正的知識。對於尤班克斯來說,他在基爾多爾班上的刻苦學習得到了應有的收穫。他對微機產生了濃厚的興趣,並且在教室後面的實驗室中度過了大量的時間,研究基爾多爾從英特爾公司拿到的計算機。當尤班克斯請他的教授為他選擇一個畢業論文課題時,基爾多爾建議他擴充和修改基爾多爾已經著手研究的BASIC解釋程序。
戈登·尤班克斯真的在夏威夷購置了一套房子。實際上他低估了他能從CBA九*九*藏*書SIC語言銷售中得到的盈利數目,他也同樣低估了夏威夷住宅的價格。
每種方案都有它的優點,但是BASIC-E具有一個重大的優越性。由於它的程序可以用中間代碼版本來銷售,而這種代碼是人們無法閱讀的,因此用戶只能使用該程序,而無法修改它,也無法了解它內含的編程思路。這樣,軟體開發商在用BASIC-E編寫和銷售程序時就不必擔心他們的編程思路被他人竊取。有了偽編譯BASIC后,才可以從事真正的軟體銷售。
尤班克斯開發而成的BASIC語言稱為BASIC-E,它與微軟公司的BASIC之間存在著一個重要的區別。微軟的BASIC是個解釋語言,它的語句可以直接翻譯成機器代碼,而尤班克斯的BASIC是個偽編譯語言。這意味著用BASIC-E語言編寫的程序必須翻譯成中間代碼,然後再由另一個程序將中間代碼翻譯成機器代碼。俄亥俄州立大學開發的一種BASIC編譯程序也採用了與此相同的基本思路。
——軟體開發先驅戈登·尤班克斯
許多個不眠之夜沒有白熬,尤班克斯終於九-九-藏-書開發成功CBASIC語言,這使他能夠在後來創辦他自己的編譯器系統公司,庫珀和帕森斯的結構性系統集團公司成了他的第一個分銷商。但是尤班克斯不知道他的BASIC語言究竟應該賣到什麼價錢。庫珀和帕森斯建議定價為150美元,基爾多爾建議定價為90美元,這是CP/M最初的售價。尤班克斯將兩種價格粗略地平均了一下,最後定為100美元。
與微軟的BASIC語言一樣,尤班克斯的BASIC語言開發也是需要經常加班加點到深夜的緊急開發項目。庫珀和帕森斯要開車前往加州瓦列霍市庫珀的家裡,一直干到凌晨3點鐘,一邊喝著可口可樂,一邊思考大量的程序清單,設法確定哪些程序語句要放入BASIC語言。與蓋茨和艾倫曾經做過的工作一樣,尤班克斯主要根據自己的判斷來確定BASIC語言的內容,有時所作的選擇並無十分科學的依據。他們彷彿與世隔絕地待在瓦列霍的屋子裡,艾倫·庫帕望著代碼,突然建議說:「你為什麼不加上一個WHILE循環?」這是經常使用的一種編程語句。尤班克斯則回答說:「我認為這很好,」於是就將這個語句放入程序。
就尤班克斯而言,B九_九_藏_書ASIC-E僅僅是他的一個學術研究項目。他將BASIC-E公布后,便返回海軍去執行一項新的任務。不過在他前往執行新任務之前,他要進行兩個重要會面。首先要與兩位年輕的編程員艾倫·庫珀和凱思·帕森斯進行會面,兩人都想開辦一家應用軟體公司,用他們的話來說:「每年可賺5萬美元。」他們想要得到他的BASIC-E語言,因此尤班克斯為他們提供了一個源代碼拷貝,並且再也不想見到他們。
早期的個人計算機產業只有一種操作系統佔據著一統天下的地位,這就是基爾多爾的CP/M操作系統。相比之下,語言系統的情況則不同,由於創建新的BASIC語言功能比較容易,因而導致兩種較高級語言之間展開了競爭。一種是蓋茨和艾倫開發的BASIC語言,另一種是海軍研究生院計算科學教授加里·基爾多爾的學生開發的。
1976年,一位名叫戈登·尤班克斯的年輕核子工程師在美國海軍即將服役期滿。入伍前,他曾作為一名系統工程師在IBM公司工作了9個月,海軍為他提供了一份獎學金,讓他在加州帕西菲克格羅夫的海軍研究生院進修計算機學的碩士學位。他想,為什麼不去呢?這是個千載九_九_藏_書難逢的好機會。
這筆交易對尤班克斯來說顯得有失公平,這是他做的第一筆軟體交易,他還很不成熟。正如艾倫·庫珀所說:「戈登說,『他們還給了我一台印表機吶!』」不過尤班克斯希望的不只是掙一台印表機那樣的設備,他夢想用他的BASIC語言賺上1萬美元,這樣他就能在夏威夷買上一幢房子。
他們還必須給這個產品做一個包裝,寫一份說明書。庫帕與尤班克斯寫出了說明書,並且印刷了500份。他們很快接到一個需要400份說明書的訂單,因此不得不重印一批。他們知道產品的銷售工作正在順利進行著。
這時,一個軟體產業剛剛開始形成,不過它的地基上已經壘上了一些磚塊。另一個磚塊既有別於BASIC,也不同於CP/M。
研究計算機科學最初是美國海軍提出來的想法。
對於尤班克斯來說,與大多數最初顯得很有吸引力的事情相比,上課是比較枯躁乏味的。他的深度近視眼鏡以及他那輕聲輕氣的說話樣子與他喜歡冒險的性格完全不相稱。尤班克斯非常喜歡他在海軍快速攻擊核潛艇上的工作。他的朋友、軟體設計員艾倫·庫珀對他的評語是:「戈登非常喜歡緊張的冒險性工作。」