淺談計算機和編程語言的發展歷史

計算機、操作系統和編程語言

一、計算機的發展歷史

  在第二次世界大戰中,美國政府尋求計算機以開發潛在的戰略價值。這促進了計算機的研究與發展。1944年霍華德·艾肯研製出全電子計算器,爲美國海軍繪製彈道圖。這臺簡稱 Mark Ⅰ 的機器有半個足球場大,內含500英里的電線,使用電磁信號來移動機械部件,速度很慢(3~5秒才能計算1次),並且適應性很差,只用於專門的領域,但是它既可以執行基本算術運算也可以運算一些複雜的等式。

  1946年,2月14日,由美國軍方定製的世界上第一臺電子計算機——“電子數字積分計算機”(ENIAC Electronic Numerical And Calculator)在美國賓夕法尼亞大學問世。ENIAC是美國奧伯丁武器試驗場爲了滿足計算彈道需要而研製成的,這臺計算器使用了17840支電子管,大小爲80英尺 x 8英尺,重達28噸,功耗爲170kW,其運行速度——每秒可進行5000次的加法運算,造價約爲487000美元。

1、第1代:電子管數字機(1946—1958年)

(1)硬件方面,邏輯元件採用的是真空電子管,主存儲器採用汞延遲線電子管數字計算機、陰極射線示波管靜電存儲器、磁鼓、磁芯;外存儲器採用的是磁帶。軟件方面採用的是機器語言、彙編語言。應用領域以軍事和科學計算爲主。

(2)特點是體積大、功耗高、可靠性差。速度慢(一般爲每秒數千次至數萬次)、價格昂貴,但爲以後的計算機發展奠定了基礎。

2、第2代:晶體管數字機(1958—1964年)

(1)應用領域以科學計算和事務處理爲主,並開始進入工業控制領域。

(2)特點是體積縮小、能耗降低、可靠性提高、運算速度提高(一般爲每秒數10萬次,可高達300萬次)、性能比第1代計算機有很大的提高。

3、第3代:集成電路數字機(1964—1970年)

(1)硬件方面,邏輯元件採用中、小規模集成電路(MSI、SSI),主存儲器仍採用磁芯。軟件方面出現了分時操作系統以及結構化、規模化程序設計方法。

(2)特點是速度更快(一般爲每秒數百萬次至數千萬次),而且可靠性有了顯著提高,價格進一步下降,產品走向了通用化、系列化和標準化等。應用領域開始進入文字處理和圖形圖像處理領域。

4、第4代:大規模集成電路機(1970年至今)

(1)硬件方面,邏輯元件採用大規模和超大規模集成電路(LSI和VLSI)。軟件方面出現了數據庫管理系統、網絡管理系統和面嚮對象語言等。

(2)特點是1971年世界上第一臺微處理器在美國硅谷誕生,開創了微型計算機的新時代。應用領域從科學計算領域。

二、UNIX操作系統和C語言的由來

因爲計算機的電路中所包含的信息都是來自電信號的,而且爲了方便地區分輸出的是高電壓和低電壓,早期的操作人員是通過帶有孔的紙帶將程序輸入電腦進行編譯(對紙條打點),點代表1或0,即二進制。後面出現了彙編語言,操作人員每人一個小冊子(指令小冊子),開發人員非常非常辛苦。

最早的二進制語言,示例:

1、0000,0000,000000010000 代表 LOAD A, 16   ## 表示將16存入A寄存器(可以將寄存器理解爲內存或者硬盤)

2、0000,0001,000000000001 代表 LOAD B, 1    ## 表示將1存入B寄存器

3、0001,0001,000000010000 代表 STORE B, 16  ## 表示將16存入B寄存器

彙編語言示例:

1、UNIX操作系統的產生

  20世紀60年代,貝爾實驗室的研究員Ken Thompson(肯·湯普森)發明了B語言,並使用B編寫了一個遊戲——Space Travel,爲了玩自己這個遊戲,他揹着老闆找到了一臺空閒的機器——PDP-7(機器編號),但是這臺機器沒有操作系統(Operating System 簡稱OS),於是Thompson着手爲PDP-7開發OS,後來這個他將自己開發的這個OS命名爲——UNIX

  1971年,Thompson的同事D.M.Ritchie(裏奇),也很想玩Space Travel這個遊戲,所以他決定跟Thompson合作,兩人一起開發UNIX,他當時的主要工作是改進Thompson的B語言。

  最終,在1972年,改進後的B語言誕生了,即C語言,它命名取自BCPL(Base Combined Programming Language)的第二個字母(BCPL也是一門語言,B語言就是對BCPL進行改進而誕生的)。

湯普森(左)和裏奇(右):

2、編程語言的簡要歷史

C語言、C語言的起源、類似C語言的編程語言,簡單總結如下:

1、CPL(Combined Programming Language) - 1963
### CPL是1963年劍橋大學發明的

2、BCPL(Base Combined Programming Language) - 1967
### 劍橋的Matin Richards 對CPL做了簡化,推出了BCPL

3、B(B Programming Language) - 1969
### 貝爾實驗室的Ken Thompson(肯·湯普森) 對BCPL又做了改進,設計出了簡單的且接近硬件的B語言,用B語言寫了第一個UNIX OS

3、C(C Programming Language) - 1972
### 貝爾實驗室的Dennis MacAlistair Ritchie(D.M.Ritchie - DM裏奇)在B的基礎上設計出了C語言。C 保持了B的優點(精煉、接近硬件),又克服了他的缺點(過於簡單,數據無類型)

4、C++(C plus plus Programming Language) - 1983
### 還是貝爾實驗室的人,Bjarne Stroustrup(本賈尼·斯特勞斯特盧普) 在C語言的基礎上推出了C++,它擴充和完善了C語言,特別是在面向對象編程方面。一定程度上克服了C語言編寫大型程序時的不足。

5、Python - 1989
### 1989年的聖誕節期間,吉多·範羅蘇姆(Gudio van Rossum,我們稱他爲“龜叔”)爲了在阿姆斯特丹打發時間,決心開發一個新的解釋程序,作爲ABC語言的繼承,他創造了Python語言,並用C語言寫出了Python語言的解釋器CPython。之所以選擇Python作爲這麼程序語言的名字,是因爲龜叔是BBC電視劇——Monty Python's Flying Circus的粉絲。

6、Java(Java Programming Language) - 1995
### Sun公司的Patrick Naughton的工作小組研發了Java語言,主要成員是James Gosling(詹姆斯·高斯林)

7、C#(C Sharp Programming Language) - 2000
### Microsoft公司的Anders Hejlsberg(安德斯·海爾斯伯格)發明了C#,他也是Delphi語言之父。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章