1. 計算機語言發展史
【摘要】
本文以自然辯證的觀點探討了計算機語言的發展歷程,運用自然辯證法的基本理論、基本方法,系統分析了計算機語言的發展歷史、現狀和未來。並對其的發展趨勢和未來模式做了探索性研究和預測,同時以哲學的觀點闡述其發展的因果關系,揭示其事物發展的共性問題;最後文章介紹了在計算機語言發展歷程中做出傑出貢獻的科學家,以其在計算機事業中的突出表現來折射出人類智慧的偉大,以其不平凡的一生來激勵和指導我們在計算機語言的發展中向著正確的方向前進。
【關鍵字】
自然辯證法 計算機語言 計算機技術 編程語言 網際網路 面向對象
正文
一九九三年美國的柯林頓政府提出了「信息高速公路」計劃,從而在這十多年間在全球范圍內引發了一場信息風暴,信息技術幾乎觸及了現代生活的方方面面,毫不誇張的說沒有了信息技術,現代文明的生活將無從談起;作為信息技術中最重要的部分,計算機技術無疑是其發展的核心問題,而我們知道計算機只是一台機器,它只能按照計算機語言編好的程序執行,那麼正確認識計算機語言的過去和未來,就是關繫到計算機發展的重中之重;以自然辯證法的觀點認識和分析計算機語言的發展歷程,將有助於更加全面地推動計算機技術的發展,有助於更加准確地掌握計算機語言發展趨勢。
一、科學認識大門的鑰匙--當代自然辯證法
自然辯證法,是馬克思主義對於自然界和科學技術發展的一般規律以及人類認識自然改造自然的一般方法的科學,是辯證唯物主義的自然觀、科學技術觀、科學技術方法論。它主要研究自然界發展的總規律,人與自然相互作用的規律,科學技術發展的一般規律,科學技術研究的方法。
馬克思、恩格斯全面地、系統地概括了他們所處時代的科學技術成功,批判吸取了前人的合理成分,系統地論述了辯證唯物主義自然觀、自然科學發展過程及其規律性,以及科學認識方法的辯證法,以恩格斯的光輝著作《自然辯證法》為標志,創立了自然辯證法繼續發展的廣闊道路。
自然辯證法是馬克思主義哲學的一個重要組成部分。在辯證唯物主義哲學體系中,自然辯證法與歷史唯物論相並列。它集中研究自然界和科學技術的辯證法,是唯物主義在自然界和科學技術領域中的應用,它的原理和方法主要適用於自然領域和科學技術領域。
學習和運用自然辯證法將有助於我們搞清科學和哲學的關系,從而更加清楚地認識科學的本質和發展規律,更加全面的觀察思考問題,只有加深了認識,我們才能更好地發揮主觀能動性,迎接新的科學技術的挑戰。下面我將以自然辯證法的觀點來分析計算機語言的發展歷程。
二、計算機語言的發展歷程和發展趨勢
計算機語言的發展是一個不斷演化的過程,其根本的推動力就是抽象機制更高的要求,以及對程序設計思想的更好的支持。具體的說,就是把機器能夠理解的語言提升到也能夠很好的模仿人類思考問題的形式。計算機語言的演化從最開始的機器語言到匯編語言到各種結構化高級語言,最後到支持面向對象技術的面向對象語言。
1、計算機語言的發展歷史: 二十世紀四十年代當計算機剛剛問世的時候,程序員必須手動控制計算機。當時的計算機十分昂貴,唯一想到利用程序設計語言來解決問題的人是德國工程師楚澤(konrad zuse)。幾十年後,計算機的價格大幅度下跌,而計算機程序也越來越復雜。也就是說,開發時間已經遠比運行時間來得寶貴。於是,新的集成、可視的開發環境越來越流行。它們減少了所付出的時間、金錢(以及腦細胞)。只要輕敲幾個鍵,一整段代碼就可以使用了。這也得益於可以重用的程序代碼庫。隨著c,pascal,fortran,等結構化高級語言的誕生,使程序員可以離開機器層次,在更抽象的層次上表達意圖。由此誕生的三種重要控制結構,以及一些基本數據類型都能夠很好的開始讓程序員以接近問題本質的方式去思考和描述問題。隨著程序規模的不斷擴大,在60年代末期出現了軟體危機,在當時的程序設計模型中都無法克服錯誤隨著代碼的擴大而級數般的擴大,以至到了無法控制的地步,這個時候就出現了一種新的思考程序設計方式和程序設計模型-----面向對象程序設計,由此也誕生了一批支持此技術的程序設計語言,比如eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各種不同屬性的對象以及對象之間的消息傳遞構成。面向對象語言由此必須支持新的程序設計技術,例如:數據隱藏,數據抽象,用戶定義類型,繼承,多態等等。
2、計算機語言的發展現狀:目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類: 解釋類和編譯類。
3、計算機語言的發展趨勢:面向對象程序設計以及數據抽象在現代程序設計思想中佔有很重要的地位,未來語言的發展將不在是一種單純的語言標准,將會以一種完全面向對象,更易表達現實世界,更易為人編寫,其使用將不再只是專業的編程人員,人們完全可以用訂制真實生活中一項工作流程的簡單方式來完成編程。下面是一張計算機語言發展圖表,從中不難得出計算機語言發展的特性:
² 簡單性
提供最基本的方法來完成指定的任務,只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程序
² 面向對象
提供簡單的類機制以及動態的介面模型。對象中封裝狀態變數以及相應的方法,實現了模塊化和信息隱藏;提供了一類對象的原型,並且通過繼承機制,子類可以使用父類所提供的方法,實現了代碼的復用
² 安全性
用於網路、分布環境下有安全機制保證。
² 平台無關性
與平台無關的特性使程序可以方便地被移植到網路上的不同機器、不同平台。
三、面向未來的漢語程序設計語言:
從計算機誕生至今,計算機自硬體到軟體都是以印歐語為母語的人發明的。所以其本身就帶有印歐語的語言特徵,在硬體上cpu、i/o、存儲器的基礎結構都體現了印歐語思維狀態的"焦點視角",精確定義,分工明確等特點。計算機語言也遵照硬體的條件,使用分析式的結構方法,嚴格分類、專有專用,並在其發展脈絡中如同他們的語言-常用字量和歷史積累詞庫量極度膨脹。實際上,計算機硬體的發展越來越強調整體功能,計算機語言的問題日益突出。為解決這一矛盾,自六十年代以來相繼有500多種計算機語言出現,歷經五代,至今仍在變化不已。
漢語沒有嚴格的語法框架,字詞可以自由組合、突出功能的整體性語言。在計算機語言問題成為發展瓶頸的今天,漢語言進入計算機程序設計語言行列,已經成為歷史的必然。
1、 發展漢語程序設計語言的理由:
1)計算機語言問題解決,只能從人類語言中尋找解決方案;
2)計算機語言的現存問題是形式狀態與功能需求的矛盾;
3)計算機硬體的發展已為整體性語言-漢語進入計算機程序設計語言提供了條件
2、 漢語程序設計語言的技術特點:
1)漢文字的常用字高度集中,生命力極強,能靈活組合,簡明准確地表達日新月異的詞彙,這些優點是拼音文字無法企及的。
2)漢語言的語法簡易靈活,語詞單位大小和性質往往無一定規,可隨上下語境和邏輯需要自由運用。漢語言的思維整體性強,功能特徵突出。
3)漢語程序設計語言的發明者採用核心詞庫與無限寄存器相結合的方法,實現了漢語言的詞素自由組合;將編譯器與解釋器合一,使漢語程序設計語言既能指令又能編程;以獨特的虛擬機結構設計,將數據流與意識流分開,達到漢語程序設計語言與漢語描述完全一致,通用自如。
具有漢語言特性的漢語程序設計語言的出現,打破了漢語言不具備與計算機結合的條件而不能完成機器編碼的神話。還為計算機科學與現代語言學研究提出了一條嶄新的路徑,它從計算機語言的角度,從嚴格的機械活動及周密的演算法上,向世人證實漢語的特殊結構狀態,及其特殊的功能。
四、計算機語言之父——尼蓋德
尼蓋德幫助網際網路奠下了基礎,為計算機業做出了巨大貢獻。
尼蓋德是奧斯陸大學的教授,因為發展了simula編程語言,為ms-dos和網際網路打下了基礎而享譽國際。克里斯汀·尼蓋德於1926年在奧斯陸出生,1956年畢業於奧斯陸大學並取得數學碩士學位,此後致力於計算機計算與編程研究。
1961年~1967年,尼蓋德在挪威計算機中心工作,參與開發了面向對象的編程語言。因為表現出色,2001年,尼蓋德和同事奧爾·約安·達爾獲得了2001年a.m.圖靈機獎及其它多個獎項。當時為尼蓋德頒獎的計算機協會認為他們的工作為java,c++等編程語言在個人電腦和家庭娛樂裝置的廣泛應用掃清了道路,「他們的工作使軟體系統的設計和編程發生了基本改變,可循環使用的、可靠的、可升級的軟體也因此得以面世。」
尼蓋德因其卓越的貢獻,而被譽為「計算機語言之父」,其對計算機語言發展趨勢的掌握和認識,以及投身於計算機語言事業發展的精神都將激勵我們向著計算機語言無比燦爛的明天前進。
五、結束語
用科學的邏輯思維方法認識事物才會清楚的了解其過去、現在和未來,計算機語言的發展同樣遵循著科學技術發展的一般規律,以自然辯證法的觀點來分析計算機語言,有助於我們更加深入地認識計算機語言發展的歷史、現狀和趨勢,有了自然辯證法這把開啟科學認識大門的鑰匙,我們將回首過去、把握現在、放眼未來,正確地選擇計算機語言發展的方向,更好的學習、利用和發展計算機語言。
六、致謝
首先感謝張老師,張老師幽默的講解和精煉的內容使我受益匪淺,使我對以後的工作和生活有了更深刻的認識。另外要感謝本文所參考的文獻的作者和相關網站。最後還要感謝在我寫論文過程中提供無私幫助的人們,以及給我支持的家人和朋友。
參考文獻
1.《計算機語言與計算機程序發展歷史》博客中國網
2.《計算機發展史》 上海科學技術出版社
3.《軟體發展與社會進步》蔡希堯
4.《自然辯證法概論》 北京航空航天大學出版社
5.《資料庫發展新技術》 磊哲
6. 《漢語程序設計語言》陳雲牧
參考資料:
http://www.yeshare.com/LW/1/qq%2Dsun12406/
計算機語言發展史圖片:(英文)
http://skyivben.cnblogs.com/archive/2005/12/13/255777.html
這篇文章也值得一看:
http://www.boyacode.com/showart.asp?art_id=2941
2. 很多程序都是用計算機語言,那麼這些計算機語言是如何發明出來的
說一下我的理解,某些方面可能不那麼專業。
計算機處理的都是0,1,代表電路的兩種狀態。最開的時候程序員是面對的最底層的,後來有了匯編、C、還有許多面向對象的語言,這些都是不斷在原來的基礎上抽象出來的,至於怎麼個抽象法,還是樓上的正解。
3. 計算機高級語言究竟是通過什麼理論發明的,數學方式還是什麼的,它們怎麼能夠從01001這些機器語言延
打字機,機器語言,匯編語言, 電子元件的二極體,三極體。。。。。。。 密碼學。。。。。都是戰爭導致的科技發明吧。
4. 一種計算機語言是怎麼誕生的
人編的 編譯器是方便人類對口機器來發明的
人經過無數的測試 實驗發現某些信號在電上反應出來的意義
5. 計算機語言是如何開發出來的
計算機語言(Computer Language)指用於人與計算機之間通訊的語言。計算機語言是人與計算機之間傳遞信息的媒介。計算機系統最大特徵是指令通過一種語言傳達給機器。為了使電子計算機進行各種工作,就需要有一套用以編寫計算機程序的數字、字元和語法規劃,由這些字元和語法規則組成計算機各種指令(或各種語句)。這些就是計算機能接受的語言。
中文名
計算機語言
外文名
Computer Language
適用范圍
計算機
功能
信息傳遞
快速
導航
分類
常見語言
特點
發展歷程
前期
二十世紀四十年代當計算機剛剛問世的時候,程序員必須手動控制計算機。當時的計算機十分昂貴,唯一想到利用程序設計語言來解決問題的人是德國工程師楚澤(konradzuse)。不久後,計算機的價格大幅度下跌,而計算機程序也越來越復雜。也就是說,開發時間已經遠比運行時間來得寶貴。於是,新的集成、可視的開發環境越來越流行。它們減少了所付出的時間、金錢(以及腦細胞)。只要輕敲幾個鍵,一整段代碼就可以使用了。這也得益於可以重用的程序代碼庫。隨著c,pascal,fortran,等結構化高級語言的誕生,使程序員可以離開機器層次,在更抽象的層次上表達意圖。由此誕生的三種重要控制結構,以及一些基本數據類型都能夠很好的開始讓程序員以接近問題本質的方式去思考和描述問題。隨著程序規模的不斷擴大,在60年代末期出現了軟體危機,在當時的程序設計模型中都無法克服錯誤隨著代碼的擴大而級數般的擴大,以至到了無法控制的地步,這個時候就出現了一種新的思考程序設計方式和程序設計模型-----面向對象程序設計,由此也誕生了一批支持此技術的程序設計語言,比如eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各種不同屬性的對象以及對象之間的消息傳遞構成。面向對象語言由此必須支持新的程序設計技術,例如:數據隱藏,數據抽象,用戶定義類型,繼承,多態等等。
早期計算機
現狀
如今通用的編程語言有兩種形式:匯編語言和高級語言。匯編語言和機器語言實質是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,容易識別和記憶。源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
計算機語言
高級語言是絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於低級語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:解釋類和編譯類。[1]
趨勢
面向對象程序設計以及數據抽象在現代程序設計思想中佔有很重要的地位,未來語言的發展將不在是一種單純的語言標准,將會以一種完全面向對象,更易表達現實世界,更易為人編寫,其使用將不再只是專業的編程人員,人們完全可以用訂制真實生活中一項工作流程的簡單方式來完成編程。
計算機語言
簡單性:提供最基本的方法來完成指定的任務,只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程序。
6. 計算機語言是如何產生的
計算機語言是如何產生的?
計算機語言,最根本的,是:機器語言。
各種機器語言,都是由電子專業的技術人員,設計出來的。
7. 機器語言是怎麼被人類發明出來的
現在我們所說的計算機,其全稱是通用電子數字計算機,「通用」是指計算機可服務於多種用途,「電子」是指計算機是一種電子設備,「數字」是指在計算機內部一切信息均用0和1的編碼來表示。計算機的出現是20世紀最卓越的成就之一,計算機的廣泛應用極大地促進了生產力的發展。 一、計算工具的發展簡史 自古以來,人類就在不斷地發明和改進計算工具,從古老的「結繩記事」,到算盤、計算尺、差分機,直到1946年第一台電子計算機誕生,計算工具經歷了從簡單到復雜、從低級到高級、從手動到自動的發展過程,而且還在不斷發展。回顧計算工具的發展歷史,從中可以得到許多有益的啟示。 1. 手動式計算工具 人類最初用手指進行計算。人有兩只手,十個手指頭,所以,自然而然地習慣用手指記數並採用十進制記數法。用手指進行計算雖然很方便,但計算范圍有限,計算結果也無法存儲。於是人們用繩子、石子等作為工具來延長手指的計算能力,如中國古書中記載的「上古結繩而治」,拉丁文中「Calculus」的本意是用於計算的小石子。 最原始的人造計算工具是算籌,我國古代勞動人民最先創造和使用了這種簡單的計算工具。算籌最早出現在何時,現在已經無法考證,但在春秋戰國時期,算籌使用的已經非常普遍了。根據史書的記載,算籌是一根根同樣長短和粗細的小棍子,一般長為13~14cm,徑粗0.2~0.3cm,多用竹子製成,也有用木頭、獸骨、象牙、金屬等材料製成的。算籌採用十進制記數法,有縱式和橫式兩種擺法,這兩種擺法都可以表示1、2、3、4、5、6、7、8、9九個數字,數字0用空位表示。算籌的記數方法為:個位用縱式,十位用橫式,百位用縱式,千位用橫式,……,這樣從右到左,縱橫相間,就可以表示任意大的自然數了。 計算工具發展史上的第一次重大改革是算盤,也是我國古代勞動人民首先創造和使用的。算盤由算籌演變而來,並且和算籌並存競爭了一個時期,終於在元代後期取代了算籌。算盤輕巧靈活、攜帶方便,應用極為廣泛,先後流傳到日本、朝鮮和東南亞等國家,後來又傳入西方。算盤採用十進制記數法並有一整套計算口訣,例如「三下五除二」、「七上八下」等,這是最早的體系化演算法。算盤能夠進行基本的算術運算,是公認的最早使用的計算工具。 1617年,英國數學家約翰·納皮爾(John Napier)發明了Napier乘除器,也稱Napier算籌。Napier算籌由十根長條狀的木棍組成,每根木棍的表面雕刻著一位數字的乘法表,右邊第一根木棍是固定的,其餘木棍可以根據計算的需要進行拼合和調換位置。Napier算籌可以用加法和一位數乘法代替多位數乘法,也可以用除數為一位數的除法和減法代替多位數除法,從而大大簡化了數值計算過程。 1621年,英國數學家威廉·奧特雷德(William Oughtred)根據對數原理發明了圓形計算尺,也稱對數計算尺。對數計算尺在兩個圓盤的邊緣標注對數刻度,然後讓它們相對轉動,就可以基於對數原理用加減運算來實現乘除運算。17世紀中期,對數計算尺改進為尺座和在尺座內部移動的滑尺。18世紀末,發明蒸汽機的瓦特獨具匠心,在尺座上添置了一個滑標,用來存儲計算的中間結果。對數計算尺不僅能進行加、減、乘、除、乘方、開方運算,甚至可以計算三角函數、指數函數和對數函數,它一直使用到袖珍電子計算器面世。即使在20世紀60年代,對數計算尺仍然是理工科大學生必須掌握的基本功,是工程師身份的一種象徵。 2. 機械式計算工具 17世紀,歐洲出現了利用齒輪技術的計算工具。1642年,法國數學家帕斯卡(Blaise Pascal)發明了帕斯卡加法器,這是人類歷史上第一台機械式計算工具,其原理對後來的計算工具產生了持久的影響。帕斯卡加法器是由齒輪組成、以發條為動力、通過轉動齒輪來實現加減運算、用連桿實現進位的計算裝置。帕斯卡從加法器的成功中得出結論:人的某些思維過程與機械過程沒有差別,因此可以設想用機械來模擬人的思維活動。 德國數學家萊布尼茨(G .W .Leibnitz)發現了帕斯卡一篇關於「帕斯卡加法器」的論文,激發了他強烈的發明慾望,決心把這種機器的功能擴大為乘除運算。1673年,萊布尼茨研製了一台能進行四則運算的機械式計算器,稱為萊布尼茲四則運算器。這台機器在進行乘法運算時採用進位-加(shift-add)的方法,後來演化為二進制,被現代計算機採用。 萊布尼茨四則運算器在計算工具的發展史上是一個小高潮,此後的一百多年中,雖有不少類似的計算工具出現,但除了在靈活性上有所改進外,都沒有突破手動機械的框架,使用齒輪、連桿組裝起來的計算設備限制了它的功能、速度以及可靠性。 1804年,法國機械師約瑟夫·雅各(Joseph Jacquard)發明了可編程織布機,通過讀取穿孔卡片上的編碼信息來自動控制織布機的編織圖案,引起法國紡織工業革命。雅各織布機雖然不是計算工具,但是它第一次使用了穿孔卡片這種輸入方式。如果找不到輸入信息和控制操作的機械方法,那麼真正意義上的機械式計算工具是不可能出現的。直到20世紀70年代,穿孔卡片這種輸入方式還在普遍使用。 19世紀初,英國數學家查爾斯·巴貝奇(Charles Babbage)取得了突破性進展。巴貝奇在劍橋大學求學期間,正是英國工業革命興起之時,為了解決航海、工業生產和科學研究中的復雜計算,許多數學表(如對數表、函數表)應運而生。這些數學表雖然帶來了一定的方便,但由於採用人工計算,其中的錯誤很多。巴貝奇決心研製新的計算工具,用機器取代人工來計算這些實用價值很高的數學表。 1822年,巴貝奇開始研製差分機,專門用於航海和天文計算,在英國政府的支持下,差分機歷時10年研製成功,這是最早採用寄存器來存儲數據的計算工具,體現了早期程序設計思想的萌芽,使計算工具從手動機械躍入自動機械的新時代。 1832年,巴貝奇開始進行分析機的研究。在分析機的設計中,巴貝奇採用了三個具有現代意義的裝置: ⑴ 存儲裝置:採用齒輪式裝置的寄存器保存數據,既能存儲運算數據,又能存儲運算結果; ⑵ 運算裝置:從寄存器取出數據進行加、減、乘、除運算,並且乘法是以累次加法來實現,還能根據運算結果的狀態改變計算的進程,用現代術語來說,就是條件轉移; ⑶ 控制裝置:使用指令自動控制操作順序、選擇所需處理的數據以及輸出結果。 巴貝奇的分析機是可編程計算機的設計藍圖,實際上,我們今天使用的每一台計算機都遵循著巴貝奇的基本設計方案。但是巴貝奇先進的設計思想超越了當時的客觀現實,由於當時的機械加工技術還達不到所要求的精度,使得這部以齒輪為元件、以蒸汽為動力的分析機一直到巴貝奇去世也沒有完成。 3. 機電式計算機 1886年,美國統計學家赫爾曼·霍勒瑞斯(Herman Hollerith)借鑒了雅各織布機的穿孔卡原理,用穿孔卡片存儲數據,採用機電技術取代了純機械裝置,製造了第一台可以自動進行加減四則運算、累計存檔、製作報表的製表機,這台製表機參與了美國1890年的人口普查工作,使預計10年的統計工作僅用1年零7個月就完成了,是人類歷史上第一次利用計算機進行大規模的數據處理。霍勒瑞斯於1896年創建了製表機公司TMC公司,1911年,TMC與另外兩家公司合並,成立了CTR公司。1924年,CTR公司改名為國際商業機器公司(International Business Machines Corporation),這就是赫赫有名的IBM公司。 1938年,德國工程師朱斯(K.Zuse)研製出Z-1計算機,這是第一台採用二進制的計算機。在接下來的四年中,朱斯先後研製出採用繼電器的計算機Z-2、Z-3、Z-4。Z-3是世界上第一台真正的通用程序控制計算機,不僅全部採用繼電器,同時採用了浮點記數法、二進制運算、帶存儲地址的指令形式等。這些設計思想雖然在朱斯之前已經提出過,但朱斯第一次將這些設計思想具體實現。在一次空襲中,朱斯的住宅和包括Z-3在內的計算機統統被炸毀。德國戰敗後,朱斯流亡到瑞士一個偏僻的鄉村,轉向計算機軟體理論的研究。 1936年,美國哈佛大學應用數學教授霍華德·艾肯(Howard Aiken)在讀過巴貝奇和愛達的筆記後,發現了巴貝奇的設計,並被巴貝奇的遠見卓識所震驚。艾肯提出用機電的方法,而不是純機械的方法來實現巴貝奇的分析機。在IBM公司的資助下,1944年研製成功了機電式計算機Mark-I。Mark-I長15.5米,高2.4米,由75萬個零部件組成,使用了大量的繼電器作為開關元件,存儲容量為72個23位十進制數,採用了穿孔紙帶進行程序控制。它的計算速度很慢,執行一次加法操作需要0.3秒,並且雜訊很大。盡管它的可靠性不高,仍然在哈佛大學使用了15年。Mark-I只是部分使用了繼電器,1947年研製成功的計算機Mark-Ⅱ全部使用繼電器。 艾肯等人製造的機電式計算機,其典型部件是普通的繼電器,繼電器的開關速度是1/100秒,使得機電式計算機的運算速度受到限制。20世紀30年代已經具備了製造電子計算機的技術能力,機電式計算機從一開始就註定要很快被電子計算機替代。事實上,電子計算機和機電式計算機的研製幾乎是同時開始的。 4. 電子計算機 1939年,美國依阿華州大學數學物理學教授約翰·阿塔納索夫(John Atanasoff)和他的研究生貝利(Clifford Berry)一起研製了一台稱為ABC(Atanasoff Berry Computer)的電子計算機。由於經費的限制,他們只研製了一個能夠求解包含30個未知數的線性代數方程組的樣機。在阿塔納索夫的設計方案中,第一次提出採用電子技術來提高計算機的運算速度。 第二次世界大戰中,美國賓夕法尼亞大學物理學教授約翰"莫克利(John Mauchly)和他的研究生普雷斯帕"埃克特(Presper Eckert)受軍械部的委託,為計算彈道和射擊表啟動了研製ENIAC(Electronic Numerical Integrator and Computer)的計劃,1946年2月15日,這台標志人類計算工具歷史性變革的巨型機器宣告竣工。ENIAC是一個龐然大物,共使用了18 000多個電子管、1 500多個繼電器、10 000多個電容和7 000多個電阻,佔地167平方公尺,重達30噸。ENIAC的最大特點就是採用電子器件代替機械齒輪或電動機械來執行算術運算、邏輯運算和存儲信息,因此,同以往的計算機相比,ENIAC最突出的優點就是高速度。ENIAC每秒能完成5 000次加法,300多次乘法,比當時最快的計算工具快1 000多倍。ENIAC是世界上第一台能真正運轉的大型電子計算機,ENIAC的出現標志著電子計算機(以下稱計算機)時代的到來。 雖然ENIAC顯示了電子元件在進行初等運算速度上的優越性,但沒有最大限度地實現電子技術所提供的巨大潛力。ENIAC的主要缺點是:第一,存儲容量小,至多存儲20個10位的十進制數;第二,程序是「外插型」的,為了進行幾分鍾的計算,接通各種開關和線路的准備工作就要用幾個小時。新生的電子計算機需要人們用千百年來製造計算工具的經驗和智慧賦予更合理的結構,從而獲得更強的生命力。 1945年6月,普林斯頓大學數學教授馮"諾依曼(Von Neumann)發表了EDVAC(Electronic Discrete Variable Computer,離散變數自動電子計算機)方案,確立了現代計算機的基本結構,提出計算機應具有五個基本組成成分:運算器、控制器、存儲器、輸入設備和輸出設備,描述了這五大部分的功能和相互關系,並提出「採用二進制」和「存儲程序」這兩個重要的基本思想。迄今為止,大部分計算機仍基本上遵循馮"諾依曼結構。 需要強調的是,EDVAC方案是集體智慧的結晶,馮"諾依曼的偉大功績在於他運用雄厚的數理知識和非凡的分析、綜合能力,在EDVAC的總體配置和邏輯設計中起到了關鍵的作用。可以說,現代計算機的發明決不是僅憑傑出科學家的個人努力就能完成的事業,研製電子計算機不僅需要巨大的資金,而且需要數學家、邏輯學家、電子工程師以及組織管理人員的密切合作,需要團隊的共同努力。
8. 編程語言是誰發明的
我也抄一下。
奧古斯塔·阿達·金,勒芙蕾絲伯爵夫人(Augusta Ada King, Countess of Lovelace,1815年12月10日-1852年11月27日),原名奧古斯塔·阿達·拜倫( Ada Byron),通稱阿達·洛芙萊斯(Ada Lovelace),是著名英國詩人拜倫之女,數學家。計算機程序創始人,建立了循環和子程序概念。
為計算程序擬定「演算法」,寫作的第一份「程序設計流程圖」,被珍視為「第一位給計算機寫程序的人」。為了紀念阿達·奧古斯塔對現代電腦與軟體工程所產生的重大影響,美國國防部將耗費巨資、歷時近20年研製成功的高級程序語言命名為Ada語言,它被公認為是第四代計算機語言的主要代表。
在1842年,人稱「數字女王」的阿達·洛芙萊斯(Ada Lovelace)編寫了歷史上首款電腦程序。
在1834年,阿達的朋友——英國數學家、發明家兼機械工程師查爾斯·巴貝其(Charles Babbage)——發明了一台分析機;阿達則致力於為該分析機編寫演算法,並於1843 年公布了世界上第一套演算法。
巴貝其分析機後來被認為是最早期的計算機雛形,而阿達的演算法則被認為是最早的計算機程序和軟體。
1852年,阿達為了治療子宮頸癌,卻因此死於失血過多,得年36歲。無獨有偶,她與她父親拜倫死於相同年齡,一樣死於治療中的失血過多。她留下了兩個兒子與一位女兒—安妮·布蘭特貴女。
依她的遺言,阿達葬於諾丁漢哈克諾的聖 瑪麗亞·抹大拉教堂,長眠在父親的身旁。
在1842年與1843年其間,阿達花了9個月的時間翻譯義大利數學家路易吉·米那比亞對巴貝奇最新的計算機設計書(即分析機概論)所留下的備忘錄。在這部譯文里,她附加許多注記,內容詳細說明用計算機進行伯努利數的運算方式,而被認為是世界上第一個電腦程式;因此,阿達也被認為是世界上第一位程式設計師。巴貝奇在他所著的《經過哲學家人生》(Passages from the Life of a Philosopher, 1846)里留有下面的述敘:
倫敦科學館分析機復製品
「我認為她為米那比亞的備忘錄增加許多注記,並加入了一些想法。雖然這些想法是由我們一起討論出來的,但是最後被寫進注記里的想法確確實實是她自己的構想。我將許多代數運算的問題交給她處理,這些工作也與伯努利數的運算相關。在她所送回給我的文件,更修正了我先前在程序里的重大錯誤。」
阿達的文章創造出許多巴貝奇也未曾提到的新構想,比如阿達曾經預言道:「這個機器未來可以用來排版、編曲或是各種更復雜的用途。」
她死後一百年,於1953年,阿達之前對查爾斯·巴貝奇的《分析機概論》所留下的筆記被重新公布,並被公認對現代計算機與軟體工程造成了重大影響。[2]
在1980年12月10日,美國國防部製作了一個新的高級計算機編程語言——Ada,以紀念阿達·洛芙萊斯。
在微軟的Wins產品里也可以找到阿達的全息圖標簽。
英國計算機公會每年都頒發以阿達命名的軟體工程創新大獎。
9. 計算機語言是通過什麼發明出來的
匯編是基於0和1而 來的,過去寫代碼就是寫0 1 0 1
而且地址還不能給搞錯!寫一段代碼非常繁瑣!一般人還不會,後來進展到寫16進制的,一些人想,為什麼不用符號來代替常規的操作呢?所以,匯編語言就應運而生!
C基於匯編而來的!他簡化了匯編的一些語法以及操作!
C++基於C而來!增強的語言的靈活性,支持面向對象
JAVA 基於C++而來! 基本語法是從C++繼承而來!
運行機制就是sun公司負責在某些平台上開發虛擬機,然後在JAVA代碼在虛擬機中運行!
總之,如果是在PC上的話,匯編是祖先!
其他的話,就要另當別論了!