第1章 人與電腦的發展
從計算工具到職業
古代的計算伴隨著人類記錄和處理資訊的需求出現。古人在分工合作中產生了交易,隨著交易量的增加帶來了如何記錄和計算的問題。他們想了很多方法來記錄資料。比如用繩子打結的結繩計數方法,後來又出現了在動物骨頭、木頭、竹片上刻記號的計數方法,稱為契刻。
在那之後又產生了很多計數方法,計數方法的迭代更新也帶來了計算量的增加,但是計算工作仍需要由人工完成,並逐漸成為一個熱門職業。到17世紀初,人們為專門從事計算的職業定義了一個新詞──計算師,它與現在的教師、工程師等職業的表達類似。比如英國天文學家愛德蒙.哈雷(Edmond Halley)在計算彗星軌跡時曾經雇傭兩名專業計算師協助他進行計算。
相比腦力計算,使用計算工具能發揮事半功倍的效果。比如起源於中國古代的算盤,後來成了普及化的計算工具。計算尺可幫助計算乘除法和其他複雜的計算。這些計算工具的發明不僅使計算變得更快速、更精確,也替代了部分腦力勞動。但是,當時數倍乃至數十倍的效率提升並不能使人類的計算能力產生飛躍的進步,加上一些人總結出了巧算方法,有時計算工具反而不占優勢。
機械電腦的出現
法國數學家和物理學家布萊士.帕斯卡(Blaise Pascal)在西元1642年發明了可以進行二位數加減法的機械計算機。其原理是透過齒輪的10個齒表示數字的0到9,當齒輪旋轉一圈時,相鄰的齒輪會前進一個齒,這樣就完成了加法運算的進位,透過換算(補九碼)也可以得到減法。
西元1671年至1694年,德國數學家哥特弗利德.萊布尼茲(Gottfried Leibniz)設計完成了不同版本可進行四則運算的步進計算機。他還發現可以用0和1編碼來進行四則運算,並預言這種二進位制的運算規則將來可能會對機器非常有用。
早期的機械計算機可以減少心算量,但是能進行的計算比較簡單,且數量稀少還價格昂貴。當時更為流行的方式是紙質計算表,例如三角函數和對數的計算表,其實就是根據使用條件去找計算好的答案。不過由於表格中的數都是固定數,還有一些錯誤,條件稍有變化就可能查不到結果。但是在多數場合,計算表還是很實用的。
英國發明家查爾斯.巴貝奇(Charles Babbage)的創新可以稱得上是計算機的發展過程中里程碑式的突破了。他在西元1822年提出了差分機的概念,可以進行多項式函數的計算。他還立下了宏大理想,要把法國的《數學用表》重新驗算一遍,合計17卷。但是他設計的差分機的精度要求超出了那個時代,所以歷經10年只拿出一個半成品。
儘管製造差分機受挫,但是巴貝奇於西元1834年又開始設想分析機,並嘗試在分析機中使用二進位制運算邏輯,這使分析機成為最接近現代電腦運算邏輯的機械電腦。後來,在他的工作基礎上,英國數學家喬治.布爾(George Boole)提出了布林代數,成為現代資訊科技的重要理論基礎。
巴貝奇還提出了很多超越時代的功能和創意。他設想透過輸入資料讓分析機來自動執行一系列的運算操作,如順序、循環、控制等,同時讓其擁有儲存資訊和列印等功能。這也為後來電子計算機的發明提供了許多靈感,因此他被譽為通用電腦之父。
從計算工具到職業
古代的計算伴隨著人類記錄和處理資訊的需求出現。古人在分工合作中產生了交易,隨著交易量的增加帶來了如何記錄和計算的問題。他們想了很多方法來記錄資料。比如用繩子打結的結繩計數方法,後來又出現了在動物骨頭、木頭、竹片上刻記號的計數方法,稱為契刻。
在那之後又產生了很多計數方法,計數方法的迭代更新也帶來了計算量的增加,但是計算工作仍需要由人工完成,並逐漸成為一個熱門職業。到17世紀初,人們為專門從事計算的職業定義了一個新詞──計算師,它與現在的教師、工程師等職業的表達類似。比如英國天文學家愛德蒙.哈雷(Edmond Halley)在計算彗星軌跡時曾經雇傭兩名專業計算師協助他進行計算。
相比腦力計算,使用計算工具能發揮事半功倍的效果。比如起源於中國古代的算盤,後來成了普及化的計算工具。計算尺可幫助計算乘除法和其他複雜的計算。這些計算工具的發明不僅使計算變得更快速、更精確,也替代了部分腦力勞動。但是,當時數倍乃至數十倍的效率提升並不能使人類的計算能力產生飛躍的進步,加上一些人總結出了巧算方法,有時計算工具反而不占優勢。
機械電腦的出現
法國數學家和物理學家布萊士.帕斯卡(Blaise Pascal)在西元1642年發明了可以進行二位數加減法的機械計算機。其原理是透過齒輪的10個齒表示數字的0到9,當齒輪旋轉一圈時,相鄰的齒輪會前進一個齒,這樣就完成了加法運算的進位,透過換算(補九碼)也可以得到減法。
西元1671年至1694年,德國數學家哥特弗利德.萊布尼茲(Gottfried Leibniz)設計完成了不同版本可進行四則運算的步進計算機。他還發現可以用0和1編碼來進行四則運算,並預言這種二進位制的運算規則將來可能會對機器非常有用。
早期的機械計算機可以減少心算量,但是能進行的計算比較簡單,且數量稀少還價格昂貴。當時更為流行的方式是紙質計算表,例如三角函數和對數的計算表,其實就是根據使用條件去找計算好的答案。不過由於表格中的數都是固定數,還有一些錯誤,條件稍有變化就可能查不到結果。但是在多數場合,計算表還是很實用的。
英國發明家查爾斯.巴貝奇(Charles Babbage)的創新可以稱得上是計算機的發展過程中里程碑式的突破了。他在西元1822年提出了差分機的概念,可以進行多項式函數的計算。他還立下了宏大理想,要把法國的《數學用表》重新驗算一遍,合計17卷。但是他設計的差分機的精度要求超出了那個時代,所以歷經10年只拿出一個半成品。
儘管製造差分機受挫,但是巴貝奇於西元1834年又開始設想分析機,並嘗試在分析機中使用二進位制運算邏輯,這使分析機成為最接近現代電腦運算邏輯的機械電腦。後來,在他的工作基礎上,英國數學家喬治.布爾(George Boole)提出了布林代數,成為現代資訊科技的重要理論基礎。
巴貝奇還提出了很多超越時代的功能和創意。他設想透過輸入資料讓分析機來自動執行一系列的運算操作,如順序、循環、控制等,同時讓其擁有儲存資訊和列印等功能。這也為後來電子計算機的發明提供了許多靈感,因此他被譽為通用電腦之父。