官术网_书友最值得收藏!

見證軟件歷史豐碑

與人類的歷史相比,軟件的歷史很短。1843年,英國大詩人拜倫的女兒埃達?洛夫萊斯(Ada Lovelace,1815—1852)為數學家巴貝奇的分析引擎編寫了一個用于計算伯努利數的程序。憑借這段程序,埃達享有了第一個程序員的美名。她編寫的伯努利數程序被認為是人類歷史上的第一個計算機程序。這如果算作軟件歷史的起點,那么距今還不到200年。

在埃達去世大約100年后,另一個偉大的女性在軟件歷史上立下不朽功勛。她的名字叫格蕾絲?霍珀(Grace Hopper,1906—1992),她在UNIVAC I大型機上開發出了一個名為A-0(Arithmetic Language version 0)的特殊軟件,這個軟件可以把人類書寫的程序自動編譯為可以在計算機上執行的程序。這樣的程序很快被賦予一個專有的名稱——編譯器。

編譯器的出現,不僅解決了手工翻譯的諸多不足,而且證明了一種新的“軟件生產模式”,那就是可以使用適合人類理解的高級語言來編寫軟件,然后交給編譯器翻譯為適合機器執行的二進制程序,不再像以前那樣非得使用晦澀的計算機硬件語言來編寫程序。

基于編譯器的“軟件生產模式”被廣泛認可后,具有不同特色、適合不同應用領域的高級語言——Fortran(1957)、ALGOL(1958)、COBOL(1959)、BASIC(1964)紛紛出現了。

高級編程語言的出現,讓人類更容易把自己的智慧轉換為代碼,也降低了編程的門檻,讓更多人可以編寫軟件。這為軟件大生產和構建更復雜的軟件世界奠定了基礎。

于是,軟件和代碼的數量每分每秒都在不斷增加。日益增加的軟件刺激硬件的發展,更強大的硬件出現后,繼續催生了更多和更復雜軟件的出現。

軟件世界變得日益復雜之后,這個世界亟待出現一個優秀的“管理者”,它能很好地統籌寶貴的硬件資源,為不同功能的應用軟件提供豐富的基礎設施和安全公平的“生存”環境,為不同身份的用戶提供簡單易用的人機接口。

在這樣的背景下,Unix出現了。Unix是什么?它是計算機歷史上的一座豐碑,是一種文化的代表,是一種哲學的例證,是不朽的傳奇。

伴隨Unix一起成名的還有一種偉大的編程語言,它就是C語言。在今天仍在廣泛使用的編程語言中,C語言絕對是響當當的前輩。今天我們使用的幾大主流操作系統的內核代碼主要是使用C語言編寫的。

無論是Unix還是C語言,每當說到它們的發明者,都不得不提到兩個名字:丹尼斯?里奇(1941—2011)和肯?湯普森(1943— )。他們的年齡相近,只差兩歲。他們是一起工作多年的同事,是相互欣賞的好朋友,是共同開創偉大事業的盟友。

Unix和C語言是軟件歷史上的兩座豐碑,我一直想深入學習這段歷史。于是在拿到《UNIX傳奇:歷史與回憶》的試讀本之后,我手不釋卷,很快便把它從封面讀到封底。感謝那段歷史的親歷者布萊恩博士在古稀之年為我們把這段珍貴的歷史變為永恒的文字。

張銀奎

2021年1月

主站蜘蛛池模板: 聊城市| 景洪市| 时尚| 临夏市| 凤翔县| 綦江县| 凤阳县| 长子县| 梁河县| 如皋市| 昌吉市| 刚察县| 图们市| 锦州市| 清涧县| 吴川市| 晋州市| 抚顺县| 六盘水市| 宁化县| 乐都县| 屯留县| 新巴尔虎左旗| 铁岭市| 潜江市| 舟曲县| 伊吾县| 娄烦县| 博野县| 浙江省| 苍山县| 铅山县| 敖汉旗| 锡林郭勒盟| 平塘县| 米易县| 周口市| 凌云县| 永定县| 宝应县| 墨江|