蘋果II上著名的電子錶格軟件VisiCalc是由丹.布裡克林(DanBricklin)和鮑伯.弗蘭克斯頓(BobFrankston)開發而成。
1977年,丹.布裡克林離開DEC公司一年後,考入了哈弗商學院攻讀工商管理碩士。在校期間,布裡克林的導師常常會佈置一些課外作業,都是一些單調而重複的填寫單據、賬目和統計表格的事情,毫無樂趣可言,一不小心還容易出錯。會玩計算機的布裡克林打算把這些重複的工作交給學校的小型機來處理,可是他發現不同的財務問題需要不同的計算方法,需要常常重新編程,討厭重複的布裡克林萌發了編寫一個通用程序的想法。
1978年初,剛剛學會BASIC的布裡克林決定開始自己的程序設計,這次他想先從微機上開始。當時流行的微機主要有克摩多的PET、唐迪的TRS-80、蘋果公司的APPLE-II,由於彼此之間不能兼容,所以初期的選擇很重要。最後布裡克林選中了APPLE-II,倒不是APPLE-II性能好到哪去,只是可憐的布裡克林當時只能借到一台APPLE-II。微機到手以後,布裡克林的程序編製工作正式開始,這個版本使用的是BASIC語言編寫,雖然速度慢得可以在運算期間泡咖啡喝,但已初步具備了電子錶格的基本特徵。
為了不浪費好創意,再加上自己一個人能力有限,布裡克林找來好友弗蘭克斯頓,兩人在1979年初成立了一間名叫軟件藝術(SA)的小公司,共同改進布裡克林手上的程序。為了提高軟件的實用性,必須提高它的計算速度,所以只能採用彙編語言來重寫,兩人分工協作,努力了兩個多月,總算堆出兩人第一款商業軟件。軟件編寫出來之後,兩人給這個軟件起了個「VisiCalc」的大名,「Visible」是「可視的」而「Calculate」是「計算」,兩單詞斬頭去尾再疊加,所謂VisiCalc」,即「看得見的計算」也。
不久,布裡克林的小軟件被一家「個人軟件公司」的老闆費斯特拉(D.Fylstra)看中了,雙方很快簽約,將VisiCalc的銷售則全部委託給個人軟件公司。1979年10月,VisiCalc被正式推向了商業市場。一開始並沒有造成多大的反響,但是由於VisiCalc最初開發於蘋果II上,蘋果公司就欣然地接受了這個小玩意,於是蘋果II和VisiCalc一起開始受到人們的青睞,不到一年的功夫,就成為了個人電腦歷史上第一個最暢銷的應用軟件。同樣,VisiCalc也促進了蘋果II的銷售。到1980年,已經超過有兩萬五千台蘋果機被主要用來運行這種電子錶格。
------------------------------------------------
在試用過隨機的電子錶格軟件VisiCalc後,我感覺軟件功能比較簡單,完全有很多可以改進的地方。參考後世關於電子錶格的設計思想,我準備編寫一個功能超過VisiCalc的電子錶格軟件。雖然C語言的移植性很好,但是為了保證性能,這個軟件不得不選擇彙編來寫。
兩個多星期後,電子錶格程序已經初步完成,主要功能都可以實現,接下來是調試優化階段。又過了一個多星期,電子錶格軟件已經調試到最佳狀態,在花上幾天時間補上軟件使用幫助後,電子錶格已經大功告成,我給軟件起了個名字叫做VisualForm。
其實APPLE-II的配置對軟件的限制還是很大,苗條的48K內存,幾乎沒有的圖形處理能力。為了實現軟件中的新增功能(能打開4個窗口分別編輯不同的表格,每個窗口都是由63×254個格子組成的巨大表格,還支持將表格中的數據用簡單圖表顯示出來等),我利用了kylin系統的內存調度功能,將內存中暫時不用的數據以覆蓋文件的形式轉存到軟盤中,將內存盡量空出來用於處理當前數據。為了防止使用者不知道如何操作軟件,我還按照後世軟件的慣例添加了一個可以隨時查看的即時幫助。
在設計VisualForm之餘,我對隨機的VisiCalc進行了改造,當然最主要的是想多些歷練。VisiCalc本身是不支持雙字節的,再加上這台APPLE-II沒有漢卡,沒辦法直接顯示出漢字。在參考後世關於蘋果機軟字庫的設計思想後,設計了一個可拆卸式漢字處理模塊,成功將VisiCalc的主要界面中文化,並按照廠裡財務的管理情況作了適當調整。只是由於缺少全面的字庫和輸入法(主要是我實在沒精力去一個點一個點的畫漢字,光是把界面上顯示的漢字畫出來就把我累得半死,眼睛看東西都有點恍惚了),所以只能顯示固定的中文提示,還不能輸入中文。
中文VisiCalc一出,當時就把趙叔震住了。看著電腦屏幕上陌生又有些熟悉的文字(漢字點陣比較少,有些字的筆畫只能做些調整),趙叔的嘴張得能塞下雞蛋。
「天哪,樂行,你……你這是怎麼搞出來的?」回過神來的趙叔馬上抓著我問道。
「我沒事做著玩的,從資料裡面看到一些程序處理辦法,試了試,沒想到還真能顯示出漢字來,就是為了這幾個字我昨天畫了一上午。」我又熟練地把趙叔的疑問推到不能說話的的資料上,反正也廠裡也沒人能搞懂這個英文資料。
「樂行,我看你弄出來的這個挺有意思的,要不我拿去給領導看看。」趙叔興奮的說道。
「趙叔,別急。這個我還要完善完善的。」我其實有點擔心軟件交上去後,這台電腦就沒有機會用了,畢竟廠裡只有一台APPLE-II。
拗不過我,趙叔只好勉強答應。可是才一個星期,趙叔在和廠長(趙叔的戰友)吃飯的時候一時沒忍住,順嘴就把這個軟件給說出來了。電腦室搞出點成績來,尤其是和廠長安排進廠的人有關,廠長還是非常滿意的,馬上就讓辦公室主任安排相關領導來參觀。
在我們演示過中文化的VisiCalc後,領導們看起來還是很高興的,紛紛發表熱情洋溢的講話,並對趙叔和我努力鑽研業務的精神表示了鼓勵。可是當提到財務室是否考慮使用的時候,分管財務的副廠長不樂意了,發表了一通對計算機不信任的話,最後還表示如果用這個將來賬目出問題他可不負責。最後還是辦公室主任出來打圓場才把氣氛緩和下來,當然這款軟件也不出意料的被送到檔案室封存了,不可能真正利用上。
趙叔倒是沒什麼,還是整天樂呵呵的,可能對他來說受到廠領導表揚就是很大的榮耀了,但是我卻有點失望,本來想用C-VisiCalc來探探路,沒想到現在的企業對電腦軟件真的一點都不重視,甚至對電腦還有一些排斥,簡直就把電腦當成一種擺設。我暗自歎了口氣,對依靠電腦從廠裡出頭徹底失望,就是不知道這樣什麼時候才能是頭,看來要另外想想辦法了。
工作之餘,我到處打聽,想看看城裡有沒有搞軟件研究的地方,結果很失望,難道我只能去北京才能找到發揮我能力的地方。不過我也知道,憑我的年紀,就算不被人直接從門口轟走,恐怕也不會有地方要我的。
之後除了上午還常去電腦室研究C語言和完善操作系統,我開始增加畫漫畫的時間,準備嘗試尋找新的出路。
就在我有些消沉的時候,事情突然有了轉機,當然剛開始的時候我並不知道。
7月份下旬的一天,我正在電腦室裡測試新寫的軟件,趙叔突然滿頭大汗的衝了進來。
「樂行,好,好消息。」趙叔氣喘吁吁的說道。
「啥好事啊?」我滿臉疑惑的看著趙叔,順手拿起水杯,「趙叔,坐下說,來先喝口水。」
趙叔坐到椅子上,「咕嘟咕嘟」猛喝幾口水,喘息了幾次,平復了一下心情。
「廠裡給了兩個名額,讓我們去培訓,下個月月初就走。」趙叔說道。
「培訓,好事啊!充電的好機會,這可不能放過。」我其實對現在的培訓興趣不大,不過待在廠裡這麼久,能出去走走也好。
「聽說培訓是安排在廣州,挺遠的。」
「哦,好啊,正好去見識見識南國風光,算是去開開眼界。趙叔,知道培訓內容嗎?」
「單子上寫的好像是什麼微型計算機應用及軟件編程,還有一些其它的亂七八糟的課,據說還是美國人來主講的。」
「哦?」我略感詫異,中國現在還沒什麼微機應用的環境啊,怎麼會有老外來上課?難道是國家準備提前開始發展微機了,不可能啊,記憶中好像沒這麼快啊。算了,管他的,就當出去玩了。