陳凱

時光倒轉40年,如果你見到某臺計算機沒有鍵盤或者沒有屏幕,一定不要大驚小怪,因為在當時,鍵盤和屏幕并不是小型計算機或微型計算機的標配。在沒有鍵盤或屏幕的情況下,怎樣才能比較方便地實現數據或程序的輸入和編輯呢?總有那么一群熱愛技術的人,他們追求極致、享受折騰,利用有限的資源輾轉騰挪,實現了一件件在當時看來不可能實現的事情,推動了技術的發展。本期就和大家一起來享受這種折騰、感受那一段真實的歷史瞬間。
機箱、輸入、輸出一體化
見到這個插滿電路板的大箱子(如圖1),大概第一反應就是:這是個計算機機箱吧。實際上這不僅僅是機箱,同時也是輸入設備和輸出設備。要輸入數據,就撥動機器面板上那一排排開關(Switch),要瀏覽數據或觀察程序運行的結果,就觀察面板上的那一排排LED,這些紅色小燈以二進制的形式顯示數據,很明顯,燈亮表示1,燈滅表示0。標注有“A”的燈表示內存地址,標注有“D”的燈表示所要存儲的數據。
這就是著名的Altair 8800,這臺機器的出現,常被贊譽為“引發了一場微型計算機的革命”。雖然如今很難弄到一臺真正的Altair 8800,但網上可以找到Altair 8800的模擬器,地址在“http://brooknet.no-ip.com/~lex/public/altair/_altair88b/applet/Altair.html”,撥動“ON”打開電源開關,這臺“機器”就能運行了,大家可以根據網站上所提示的操作步驟,體會通過撥動開關來輸入數據的“樂趣”—或者說是“苦趣”。
相信大家沒有耐心在這個模擬器中輸入一段完整的程序,所以可以試著用它來“載入”一段已經存儲在紙帶上的程序,如計算費波那契數列的程序(如圖2):在模擬器中點擊“PAPERTAPE ON”(當然在真實操作環境中是沒有鼠標用的),然后選中“Fibonacci”,再點“Fast Load”,接著一次一次地撥動“Single Step”開關,就可以通過LED變化的情況,觀察程序的運行。由于沒有真正的顯示屏幕,所以每當標為“A7”的LED亮起來的時候,就表示計算出了一個新的費波那契數,這個數字當然也是用LED表達出來的,用戶還必須自己心算把這個二進制的費波那契數轉換成十進制數。
為了方便用戶輸入和編輯數據,設計者后來又設法將Altair連上了電傳打字機,這么一來,輸入輸出就方便多了。再往后,鍵盤和鼠標就逐漸成了微型計算機的標配,不過到了現在,由于觸摸屏技術的發展,外殼、輸入、輸出一體化又成了流行的趨勢,歷史中往往充滿著有趣的輪回。
不能回頭的編輯器
在很長一段時間里,顯示器是計算中心管理員的奢侈品,普通用戶可以使用電傳打字機作為計算機的終端—既是輸入設備又是輸出設備。相對于穿孔紙帶或是上下撥動的開關來說,電傳打字機要算是高端配置了。不過打字機的麻煩是,它不能把紙倒回去修改那些已經打印好的東西。
所以就有了“行編輯器”這種如今看起來很奇怪的軟件,每一次只能對文件中的某一行進行操作,著名的“行編輯器”軟件有TECO,ed等,在Linux操作系統中很容易找到多種不同的行編輯器軟件,即便在Windows XP的命令行界面中,也仍然保留了行編輯器軟件Edlin,大家可以試著用它來錄入并保存一首小詩。最基本的操作方法如下:①按菜單“開始→運行”,鍵入“cmd”進入命令行界面,然后鍵入命令“Edlin poem.txt”,當然,文件名是什么可以由自己決定;②鍵入“I”,進入編輯模式,然后就可以一行一行輸入小詩,如果哪一行打錯了字,就必須記住該行的行號,以便在文本輸入完成后,再返回到這一行作修改,文本輸入完成后,就按“Ctrl—c”退出編輯模式;③鍵入行號,如“3”,然后就可以進入修改模式,修改好這一行后,按回車表示修改結束;④使用命令“L”來瀏覽整個文本文件,按“E”則退出程序。
當某個用慣了穿孔卡片和撥動開關的軟件設計師第一次使用電傳打字機輸入程序時,他一定會由衷贊嘆道:“實在是太方便了!”