軟件故事:誰發明了那些經典的編程語言( 簡體 字) | |
作者:[美] 史蒂夫·洛爾 | 類別:1. -> 程式設計 -> 綜合 |
出版社:人民郵電出版社 | 3dWoo書號: 38882 詢問書籍請說出此書號! 有庫存 NT售價: 245 元 |
出版日:7/1/2014 | |
頁數:259 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115355089 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 引言:軟件和編程藝術的興起 1
談起他所取得的成績,西蒙尼把這一切都歸功于軟件業的興起,以及他在編寫計算機代碼方面的天賦異稟,當然,還有機遇、運氣以及資本市場的反復無常。他的職業生涯始于20世紀60年代中期,那時他在匈牙利中央統計局工作,有點像美國青少年電腦黑客。他涉獵廣泛,不斷充實自己,自學了如何在俄制的Ural II電腦上進行編程。論計算機發展水平,布達佩斯還處于20世紀50年代早期的技術水平,比西方落后了幾十年。多年來,軟件不斷發展,編程人員的視線不再局限于二進制數字或數位——機器語言0和1。但是,西蒙尼嘗試用純粹的機器語言與計算機對話。“那是編程的石器時代,”他回憶道,“我穿越了時間隧道。” 第2章 FORTRAN:早期的“轉折點” 11 要把工程或科技問題輸入計算機,準備工作既艱難煩瑣又枯燥乏味,可能要花好幾個星期的時間,而且還需要專門的技能。只有很少一部分人具備這種與機器對話的神奇能力,就像原始社會的大祭司一樣。然而,這些祭司里面也有離經叛道之人,年輕的程序員約翰?巴克斯就是其中之一。巴克斯曾在“與機器的較量”中受挫,于是他迫切地希望能加快速度、簡化編程。“我猜一定有更好的辦法,讓編程變得更容易。”將近50年之后,在位于舊金山可以俯瞰金門大橋的家里,巴克斯如此回憶道。 第3章 20世紀60年代的慘痛教訓:從繁盛到COBOL和IBM 360計劃成為現實 35 人們逐漸意識到軟件不同于硬件,編程也開始成為一種獨立的職業。但它還處于萌芽階段,沒有標準,沒有資質,也沒有學校能夠傳授系統的理論知識。無限樂觀甚至無知的早期階段于20世紀60年代后期結束。這時,人們才痛苦地發現,開發大的軟件系統要比預想的更加困難,花費的成本也更大。編程這種職業逐漸成熟,軟件開始被看成是一種生意。 第4章 打破巨型計算機的控制:Unix和C 63 當時,湯普森不僅熟悉IBM大型計算機,對以Digital Equipment公司的小型機為代表的新計算設備也不陌生。盡管Digital Equipment還未成氣候,但其PDP系列從做出模型開始就開創了另一種計算風格。這些小型機成本更低,體積更小,放置在用玻璃隔離、裝有空調的房間,由受過訓練的“操作員”使用,與大型計算機代表的文化完全不同。相比較而言,PDP小型計算機更小、更開放、更加誘人,權限不受企業審核和級別的限制。小型機最先被應用于科學研究、工程開發和學術研討,它降低了那些充滿好奇的人們用計算機展開實驗的成本和門檻。年輕的研究員和學生也能親手操作計算機。對他們來說,這些小型計算機可謂應運而生,同時也為黑客提供了接近計算機的途徑。當IBM表現出會計賬簿似的嚴苛風格時,小型計算機似乎更多地體現了實驗室工作臺般的非正式、隨意的風格。 第5章 為大眾編程:從達特茅斯的BASIC到Visual Basic 84 庫爾茲早期編寫程序用的是匯編語言,在不同計算機上使用的編程語言也不相同。麻省理工學院計算中心使用的計算機是IBM 704,因此,庫爾茲掌握了這臺計算機的分享式匯編語言SAP。1957年,FORTRAN問世,但起初人們對所謂的高級語言存有偏見。很多程序員都認為,FORTRAN是為那些技術水平不高的編程練習者設計的,真正的程序員都用匯編語言來編程,而且他們認為這樣做也能節省寶貴的上機時間。因此,當需要編寫一個涉及大量統計計算的程序時,庫爾茲選擇了使用SAP匯編語言。但是,經過幾個月的嘗試,他認輸了。他浪費了“一小時寶貴的704機時和自己不那么值錢的大量時間”。放棄匯編語言之后,庫爾茲嘗試了人們一度不屑使用、效率不高的FORTRAN語言。他回憶說:“結果,大概只用了5分鐘的機時。使用高級語言編程能夠節省計算機時間,也能節省自己的時間,這次經歷對我的觸動很大。” 第6章 歐洲的影響力:從Algol到Pascal再到C++ 104 作為最重要的軟件工具,編程語言的類型和結構多種多樣;但從FORTRAN和COBOL到Visual Basic和Java,這些主流編程語言都有一個地理上的共性:誕生在美國。但是,美國絕不是編程語言唯一的發源地,歐洲的發展成就也不容小覷,像Algol、Simula和Pascal這樣的編程語言,雖然沒有在商業上大獲成功,卻有重要的學術意義。美國人似乎在設計編程語言時融入了工程學思想,采取折中的方式解決計算機應用方面的實際問題。相比之下,歐洲人在設計語言方面更偏重學術理論,美國人則更重視經濟效應。 第7章 屬于自己的計算機:PC產業的起步及Word的故事 121 最初,這一創新帶來的結果便是20世紀50年代房間大小的計算機被70年代中期面包盒大小的微型計算機的所取代。早期的微型計算機使用方便,和50年代的大怪物計算機一樣,使用了相同的編程。對那些早期電子發燒友來說,研發微型計算機的過程是痛苦的,但同樣也是令人振奮的。這群電子迷是一個關系密切、互幫互助的小團體,他們在小機器上試運行一些程序,主要是一些簡單的游戲程序。這項工作并沒有什么賺頭,但是,隨著芯片功能的日趨強大,這些廉價的機器顯然不只是些玩具了。它們能做真正的計算機才可以做的工作,這也就潛在地讓普通人擁有了掌握計算機運算的能力。隨后的個人計算機革命在很大程度上都應該歸功于這種企業家精神和計算機科學的合二為一。 第8章 服務于大眾的計算機:從Gooey到Macintosh的漫漫長路 148 Apple II是個人計算機發展的第一道曙光。它的前景遠遠超出了當時書呆子式的、業余愛好者的機器——主要是裝有微處理器的希斯套件;其中大多數具備高中水平工業藝術項目所需要的視覺吸引力。與之相反,Apple II則具有引人注目的塑料外殼,是精益求精的蘋果公司創始人之一史蒂夫?喬布斯對計算機美學的早期致敬。而令人驚嘆的計算機內部配置——為達最佳性能而精心挑選、排列的芯片——顯示出了另一創始人斯蒂芬?沃茲尼亞克的非凡工藝。赫茲菲爾德越深入研究Apple II,越覺得驚嘆不已。正如赫茲菲爾德所看到的,Apple II的工程設計擁有個性,是個獨立的個體,甚至帶有一絲調皮——一種叛逆的精神。他回憶說:“這是一臺真正的計算機,但絕不僅限于用來更快地處理數據。”赫茲菲爾德在Apple II的身上看到了他所追求的未來:編寫程序,使個人計算機更加普及、實用并能為普通的計算機用戶帶來樂趣。 第9章 為每一個人編程:讓用戶自己動手 169 盡管眾多軟件開發人員一直在努力,但迄今為止,仍然沒有任何編程語言能夠幫助普通計算機用戶跨越與計算機專業人士之間的鴻溝。多年來,從FORTRAN和COBOL到Visual Basic和Java,進步巨大,這使編程向更多的計算機業內人士敞開了大門,但卻始終未能實現讓普通用戶自己編寫程序的承諾。其他行業有一些值得借鑒的例子。電話服務剛剛擴展到社區的時候,一通長途電話至少需要經由兩名接線員才能接通。全國范圍內的電話服務所需要的人數更是無以計數。長途電話的普及看似毫無希望,但是隨著信息交換技術的發展和其他科技的進步,出現了直撥電話技術。這使得原先由專業人員操作的勞動密集型工作全部自動化了。實際上,直撥把每個人都變成了接線員。 第10章 Java:雜亂中誕生的新語言 193 當時,網絡主要是用作在信息空間中儲存大量文本和圖片的圖書館。但是高斯林所展示的軟件可以通過網絡將程序傳輸給任一用戶的計算機。它具有將網絡從靜止的頁面媒介轉化成互動式程序的潛力。他解釋道:“就像你拿到一本書,翻開它,其中的頁面都會與你講話,你也可以隨意移動書上的文字,讓它們按照你的意愿排列。”這是一個生動的比喻,主要說明了軟件對于將互聯網最清晰可見的部分—網頁—程序化的意義。更重要的是,從現代經濟意義上說,將網絡這種低成本的全球溝通媒介程序化,可以提高公司和客戶的溝通效率、速度和多樣性。這就是廣義上的電子商務,而這還僅僅是一個開始。高斯林設計的這款名叫Java的軟件是網頁編程的主要工具,它為互聯網創造了更多可能性,拓寬了其應用范圍。這跟存儲程序(stored-program)的概念有異曲同工之妙,因為程序存儲技術擴大了計算機的使用范圍,使計算機成為一種通用的機器,并可根據不同的用途進行編程。 第11章 一定有更好的方式:Apache和開源運動 217 但是,由于缺乏領導和規范的方式,大量的快速修正很快導致程序布滿混亂的補丁。因此,8名軟件工程師聚集到一起制定了一套操作程序。這群人中的另一位成員蘭迪·特布什說:“我們決定使用手中現有的代碼開始我們自己的項目。”他們一致同意,要在明確的軟件模塊上設計并開發所謂的服務器程序,以便程序員能夠輕松地在一個代碼塊上工作,而不必擔心會影響整個程序。他們建立了一個簡單的控制流程,只有在需求明確且得到其他成員同意的情況下,程序員才可以為其加入其他特性。他們將這一共同努力的成果稱為阿帕奇(Apache),名字來源于最初被這些自嘲的開發者戲稱為布滿“補丁”的服務器。 后記 236 注解 239 參考文獻 253 人名索引 257 《軟件故事:誰發明了那些經典的編程語言》介紹了多種語言和軟件的起源以及促進軟件行業發展的重大成就,以傳記體講述了埋沒于歷史洪流卻起到了關鍵作用的編程人員及其貢獻,包括“存儲式計算”早期出現的女性軟件先驅的故事。
《軟件故事:誰發明了那些經典的編程語言》內容主要包括:約翰· 巴克斯發明Fortran語言、約翰·麥卡錫設計Lisp語言、“COBOL之母”葛麗絲·霍普等人創建COBOL語言、肯·湯普森與丹尼斯·里奇開發Unix操作系統和C語言、托馬斯·庫爾茲與約翰·凱默尼開發BASIC語言、本賈尼·斯特勞斯特盧普開發C++、“Word之父”查爾斯·西蒙尼研發Word、阿蘭·凱伊設計Smalltalk語言、安迪·赫茲菲爾德等研發Macintosh、錢柏林等創建SQL語言、詹姆斯·高斯林發明Java,等等。 《軟件故事:誰發明了那些經典的編程語言》適合計算機相關從業人員及對軟件行業感興趣的讀者參考閱讀。 |