現實需求
公元1880年,
美利堅合眾國舉行了一次全國性人口普查,為當時5000餘萬的
美國人口登記造冊。當時美國經濟正處於迅速發展的階段,
人口流動十分頻繁;再加上普查的項目繁多,統計手段落後,從當年元月開始的這次普查,花了7年半的時間才把
數據處理完畢。也就是說,直到快進行第二次人口普查時,美國政府才能得知第一次人口普查期間全國人口的狀況。
人口普查需要大量處理的是數據,如年齡、性別等用調查表採集的項目,並且還要統計出每個社區有多少兒童和老人,有多少男性公民和女性公民等等。這些數據是否也可由機器自動進行統計?
採礦工程師霍列瑞斯想到了紡織工程師傑卡德80年前發明的
穿孔紙帶。
雛形
傑卡德提花機用
穿孔紙帶上的小孔,主要用來控制提花操作的步驟,即編寫程式,霍列瑞斯則進一步構想要用它來儲存和統計數據,發明一種自動制表的機器。兩年後,霍列瑞斯博士離開了人口局,到專利事務所工作過一段時間,也曾任教於麻省理工學院,一邊工作,一邊致力於自動制表機的研製。
霍列瑞斯首先把穿孔紙帶改造成
穿孔卡片,以適應人口
數據採集的需要。由於每個人的調查數據有若干不同的項目,如性別、籍貫、年齡等等。霍列瑞斯把每個人所有的調查項目依次排列於一張卡片,然後根據調查結果在相應項目的位置上打孔。例如,穿孔卡片“性別”欄目下,有“男”和“女”兩個選項;“年齡”欄目下有從“0歲”到“70歲以上”等系列選項,如此等等。
統計員可以根據每個調查對象的具體情況,分別在穿孔卡片各欄目相應位置打出小孔。每張卡片都代表著一位公民的個人檔案。
精妙設計
霍列瑞斯博士巧妙的設計在於自動統計。他在機器上安裝了一組盛滿水銀的小杯,穿好孔的卡片就放置在這些水銀杯上。卡片上方有幾排精心調好的探針,探針連線在電路的一端,水銀杯則連線於電路的另一端。與傑卡德提花機
穿孔紙帶的原理類似:只要某根探針撞到卡片上有孔的位置,便會自動跌落下去,與水銀接觸接通電流,啟動計數裝置前進一個刻度。由此可見,霍列瑞斯穿孔卡表達的也是
二進制信息:有孔處能接通電路計數,代表該調查項目為“有”(“1”),無孔處不能接通電路計數,表示該調查項目為“無”(“0”)。
意義
直到1888年,霍列瑞斯博士才實際完成自動制表機設計並申報了專利。他發明的這種機電式計數裝置,比傳統純機械裝置更加靈敏,因而被1890年後歷次美國
人口普查選用,獲得了巨大的成功。例如,1900年進行的人口普查全部採用霍列瑞斯制表機,平均每台機器可代替500人工作,全國的數據統計僅用了1年多時間。雖然霍列瑞斯發明的並不是
通用計算機,除了能統計數據表格外,它幾乎沒有別的什麼用途,然而,制表機穿孔卡第一次把數據轉變成
二進制信息。在以後的計算機系統里,用
穿孔卡片輸入數據的方法一直沿用到20世紀70年代,數據處理也發展成為電腦的主要功能之一。
依託自己發明的制表機,霍列瑞斯博士創辦了一家專業制表機公司,但不久就因資金周轉不靈而陷入困境,被另一家CTR
公司兼併。1924年,CTR公司更名為“國際商業機器公司”,英文縮寫“
IBM”,專門生產打孔機、制表機一類產品。
傑卡德和霍列瑞斯分別用開創了程式設計和數據處理之先河。以歷史的目光審視他們的發明,正是這種程式設計和數據處理,構成了電腦“軟體”的雛形。