計(jì)算機(jī)程序設(shè)計(jì)語言的前世今生_第1頁
計(jì)算機(jī)程序設(shè)計(jì)語言的前世今生_第2頁
計(jì)算機(jī)程序設(shè)計(jì)語言的前世今生_第3頁
計(jì)算機(jī)程序設(shè)計(jì)語言的前世今生_第4頁
計(jì)算機(jī)程序設(shè)計(jì)語言的前世今生_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

XFTEAM-先鋒小組組長:李曉峰隊(duì)員:馬通、王加儒、劉凱倫、柯云鵬總編輯:柯云鵬制作人:柯云鵬資料收集:李曉峰、馬通、劉凱倫、王加儒探討內(nèi)容:程序設(shè)計(jì)語言發(fā)展史主講:柯云朋1程序設(shè)計(jì)語言的前世今生導(dǎo)語:1946年2月14日注定是一個(gè)不同尋常的日子,在這一天,世界上第一臺(tái)電腦ENIAC(埃尼阿克)在美國賓夕法尼亞大學(xué)誕生了。他是如此的簡陋,如此的笨重,如此的龐大令人心神恐懼??墒?,就是這臺(tái)大家伙,讓人類步入了計(jì)算機(jī)文明的時(shí)代。而伴隨著它的新生,另一樣孕育已久的事物也開始快速成長,它就是計(jì)算機(jī)語言,也就是我們所說的程序設(shè)計(jì)語言、編程語言。而今距離第一臺(tái)計(jì)算機(jī)的誕生已經(jīng)過去了快70年了,計(jì)算機(jī)不斷在變化,變得越來越小,功能也越變越強(qiáng)大。而隨它孕育而生的計(jì)算機(jī)語言也同樣不甘示弱,甚至更多于前者。發(fā)明計(jì)算機(jī)的人類精英們誰也不曾想到,在這短短70年中所誕生的編程語言竟然多達(dá)2500種。各種語言相互借鑒,關(guān)系錯(cuò)綜復(fù)雜,共同繪制出屬于一個(gè)時(shí)代的人類奇跡,一個(gè)時(shí)代的文明密碼。2一、低級(jí)語言時(shí)代—(1946-1953)Ⅰ、天書——機(jī)器語言最早的計(jì)算機(jī)語言(一代語言)1.概念:

機(jī)器語言是一種與計(jì)算機(jī)硬件密切相關(guān)的語言,每臺(tái)計(jì)算機(jī)都有自己的指令系統(tǒng),硬件設(shè)計(jì)一旦完成,它的指令系統(tǒng)也就確定了,即確定了它的機(jī)器語言系統(tǒng)。機(jī)器語言都是由0和1的序列所組成,包含指令、數(shù)據(jù)、地址等。

誒尼阿克所使用的穿孔卡片穿孔紙帶早期穿孔機(jī)2.使用方法:光電閱讀機(jī)將記錄在穿孔卡片上的數(shù)據(jù)讀入計(jì)算機(jī),計(jì)算的結(jié)果則利用打孔機(jī)在卡片上打出一些小孔,并按一定規(guī)律排列,用以表示輸出的結(jié)果。而這樣的一些小孔就組成了計(jì)算機(jī)和專家明白而大部分人都不明白的天書—機(jī)器語言。(如圖所示)33.機(jī)器語言的優(yōu)點(diǎn)與缺點(diǎn)⑴優(yōu)點(diǎn):質(zhì)量高執(zhí)行速度快、效率非常高,占存儲(chǔ)空間小。

⑵缺點(diǎn):

原因:由于計(jì)算機(jī)只識(shí)別0、1代碼,而直接用0、1代碼匯編命令、操作的機(jī)器語言,在向計(jì)算機(jī)發(fā)送命令時(shí),計(jì)算機(jī)可以直接讀取操作員的命令而無需進(jìn)行任何的轉(zhuǎn)化,因此執(zhí)行速度快、效率非常高。①語言難以理解,過于抽象,相關(guān)指令系統(tǒng)難于記憶。②對編程人員要求非常高(要求對計(jì)算機(jī)的內(nèi)部硬件結(jié)構(gòu)要非常清楚)③編程過程中一但出錯(cuò),難以修改和維護(hù)。④對操作人員的投資成本非常巨大,1954年前后,對程序員的投資接近計(jì)算機(jī)本身的價(jià)值⑤使用成本巨大,在用機(jī)器語言對計(jì)算機(jī)進(jìn)行編程的當(dāng)時(shí),計(jì)算機(jī)的使用時(shí)間的1/4~1/2是花在程序的排錯(cuò)上。由于當(dāng)時(shí)人與計(jì)算機(jī)的交互是使用卡片閱讀機(jī)或者紙帶機(jī),程序員寫好程序后把程序交給穿孔員,穿孔員再將每一條指令在卡片或紙帶上穿孔,然后通過光電設(shè)備讀取上面的指令。由于一個(gè)好用的應(yīng)用程序需要反復(fù)調(diào)試,因此,編程和排錯(cuò)占了一臺(tái)計(jì)算機(jī)運(yùn)行投資的3/4,而這是一個(gè)相當(dāng)巨大的資金損耗。⑥通用性差。由于每臺(tái)計(jì)算機(jī)的指令系統(tǒng)往往各不相同,所以,在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另一臺(tái)計(jì)算機(jī)上執(zhí)行,必須另編程序,造成了重復(fù)工作。4Ⅱ、硬件驅(qū)動(dòng)的編寫者—匯編語言(二代語言)導(dǎo)語:二十世紀(jì)五十年代末期,伴隨著二戰(zhàn)的全面結(jié)束,遭受重創(chuàng)的西歐喪失了世界中心的地位,世界秩序開始重建。最終,版隨之布雷頓森林會(huì)議的結(jié)束,美國,這個(gè)年輕的國家最終勝出,成為世界新的經(jīng)濟(jì)中心。伴隨著以美元為主的國際貨幣體系的成立以及經(jīng)濟(jì)的劇烈膨脹,和美蘇爭霸世界格局的形成,機(jī)器語言無法再跟上時(shí)代的步伐,來面對越來越多、越來越頻繁的大數(shù)據(jù)計(jì)算。為滿足當(dāng)時(shí)的需求,美國迫切需要一中相比機(jī)器語言更方便、更快捷更易上手、更加高效的程序設(shè)計(jì)語言,用以解決越來越頻繁的大數(shù)據(jù)計(jì)算,用以維護(hù)世界經(jīng)濟(jì)霸主地位和實(shí)現(xiàn)科技霸主的夢想。于是莫奇萊來了,??颂貋砹?,馮.諾依曼也來了。這些杰出的大腦匯聚在一起,相互碰撞、相互借鑒,匯聚出智慧的火花,最終匯編語言誕生了!莫奇萊(左)埃克特(右)人物簡介:①莫奇萊與??颂兀喝祟惖谝慌_(tái)計(jì)算機(jī)ENIAC的發(fā)明者。②馮.諾依曼:開創(chuàng)了現(xiàn)代電子計(jì)算機(jī)的模型,世界公認(rèn)的“計(jì)算機(jī)之父”這三位人類杰出的大腦匯聚在一起,共同締造了ENIAC,前者賜予ENIAC軀體與血液,后者賜予其計(jì)算機(jī)的靈魂—計(jì)算機(jī)架構(gòu)模型。馮.諾依曼5我們在前面講過,由于二進(jìn)制代碼過于抽象難于記憶,于是莫奇萊等人自然而然地想到用一些助記符來代替這些難于記憶的二進(jìn)制碼,比如用ADD代表加法指令、SUB代替減法指令、MOV代表數(shù)據(jù)傳送指令、JUMP代表地址跳轉(zhuǎn)指令等。但計(jì)算機(jī)是無法識(shí)別這些代碼的,于是莫奇萊等人又發(fā)明了將這些指令助記符翻譯成機(jī)器語言的匯編系統(tǒng)。匯編系統(tǒng)負(fù)責(zé)將這些助記符翻譯成機(jī)器碼,并將編譯好的不同片段放到適當(dāng)?shù)奈恢?,形成可?zhí)行的目標(biāo)碼,這就是第二代編程語言匯編語言。匯編語言的圖文演示:程序員挑選出一部分的指令助記符,將其與特定意義的二進(jìn)制機(jī)器語言一一對應(yīng),最終將其匯總,形成匯編語言

匯編系統(tǒng)負(fù)責(zé)將這些助記符翻譯成機(jī)器碼,并將編譯好的不同片段放到適當(dāng)?shù)奈恢?,形成可?zhí)行的目標(biāo)碼隨后程序員針對這些指令助記符,編寫將這些指令助記符翻譯成機(jī)器語言的匯編系統(tǒng),通過匯編系統(tǒng)翻譯的匯編語言最終形成計(jì)算機(jī)所能讀懂的目標(biāo)機(jī)器碼并輸入計(jì)算機(jī),獲得所需結(jié)果。6匯編語言的特性:匯編語言的實(shí)質(zhì):同機(jī)器語言類似,本質(zhì)上還是一對一地將程序轉(zhuǎn)化為機(jī)器碼。匯編語言的優(yōu)點(diǎn):同機(jī)器語言一樣,質(zhì)量高執(zhí)行速度快、效率非常高,并且相比于機(jī)器語言,表述更直觀易懂,編寫難度大大降低,編程效率大大提高。匯編語言的缺點(diǎn):②將指示命令符轉(zhuǎn)換為機(jī)器碼的匯編系統(tǒng)編寫難度巨大,會(huì)花費(fèi)程序員大量的時(shí)間和精力。①兼容性差,由于每一臺(tái)計(jì)算機(jī)的指令集都不相同,所以,在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另一臺(tái)計(jì)算機(jī)上執(zhí)行,必須另編程序,造成了重復(fù)工作。知識(shí)拓展:既便是編程技術(shù)發(fā)展到今天,編程語言仍有其存在的意義,比如說電腦中的硬件驅(qū)動(dòng)程序(如聲卡,顯卡等)。硬件驅(qū)動(dòng)的底層程序,雖然可以用C語言來實(shí)現(xiàn),但有時(shí)程序員還是使用匯編,原因是匯編語言編出的程序精簡、高效,且與高級(jí)語言的庫函數(shù)無關(guān),因此便于向不同的硬件環(huán)境移植。7總結(jié):從1946年到1953年,無論是機(jī)器語言還是之后的匯編語言,本質(zhì)上都是一對一地將程序轉(zhuǎn)化為機(jī)器碼,也就不可避免的在編輯目標(biāo)程序過程中付出大量的人力物力財(cái)力。并且由于每臺(tái)計(jì)算機(jī)的指令系統(tǒng)往往各不相同,同樣的程序,要想在另一臺(tái)計(jì)算機(jī)上運(yùn)行,必須重新編碼,而這也就造成了資源及時(shí)間的極大浪費(fèi)。在這個(gè)時(shí)代,程序設(shè)計(jì)意味著巨額時(shí)間精力與財(cái)力,而我們將這一時(shí)期統(tǒng)稱為程序設(shè)計(jì)語言歷史中的低級(jí)語言時(shí)代,也就是最初級(jí)的時(shí)代。二、高級(jí)語言時(shí)代(1954-1995)-暨面向過程的高級(jí)語言Ⅰ、FORTRAN

語言—面向過程的高級(jí)語言的先驅(qū)者,編程語言的第一次革命1.產(chǎn)生背景:計(jì)算機(jī)被發(fā)明之初由于造價(jià)昂貴,它主要被用于科學(xué)計(jì)算和軍事,比如炮彈和導(dǎo)彈彈道的計(jì)算、氣象預(yù)報(bào)中大量的數(shù)值計(jì)算等。但從1946年第一臺(tái)計(jì)算機(jī)誕生到1953年,計(jì)算機(jī)一直都缺少兩件非常重要的功能,一個(gè)叫浮點(diǎn)計(jì)算,一個(gè)叫數(shù)組下標(biāo)尋址,這兩個(gè)功能的缺失直接導(dǎo)致了高級(jí)語言的興起,于是FORTRAN語言來了。什么是浮點(diǎn)運(yùn)算和數(shù)組下標(biāo)尋址????8

1.浮點(diǎn)計(jì)算:所謂浮點(diǎn)運(yùn)算,用通俗的話說就是如0.98×12.6這樣的實(shí)數(shù)乘法,或者0.98+12.6這樣的實(shí)數(shù)加法的運(yùn)算。用行話說,就是用計(jì)算機(jī)進(jìn)行大范圍高精度數(shù)的算術(shù)運(yùn)算。而與之相對應(yīng)的是整數(shù)運(yùn)算,而它們的區(qū)別就在于前者有小數(shù)點(diǎn),而后者沒有。

小編解惑:2.數(shù)組下標(biāo)尋址:所謂數(shù)組下標(biāo)尋址,指的是一種數(shù)組索引操作。舉一個(gè)常見的例子,比如說我需要在電腦C盤中找尋一個(gè)以{A}的子文件文件,但又不知道這個(gè)文件在哪里,通常,按我們現(xiàn)在的做法,我們會(huì)在我地電腦搜索欄中輸入{A}這個(gè)搜索目錄,進(jìn)行泛搜索,系統(tǒng)會(huì)自動(dòng)將所有以A字母開頭的文件羅列出來,然后我們便可輕松地在其中找出這個(gè){A3}文件。但在當(dāng)時(shí),這樣簡單的操作是無法實(shí)現(xiàn)的,原因在于:①因?yàn)楦↑c(diǎn)預(yù)算有一個(gè)額外的小數(shù)點(diǎn)的引入,在任何時(shí)候都要注意小數(shù)點(diǎn)的對齊。落實(shí)到硬件上,就是在硬件上設(shè)計(jì)一個(gè)浮點(diǎn)運(yùn)算,而這需要復(fù)雜的電路和大量的電子元器件。但在早期電子管計(jì)算機(jī)中,是很少能做到這么大的集成度的。因此,不支持浮點(diǎn)也是自然的設(shè)計(jì)取舍。在計(jì)算機(jī)上放一個(gè)浮點(diǎn)模塊這個(gè)想法,需要等電子工業(yè)繼續(xù)發(fā)展,使得電子管體積小一點(diǎn),功耗低一點(diǎn)后,才能進(jìn)入實(shí)踐。(注*:早期的計(jì)算機(jī)內(nèi)部電路是用的是電子管和晶體管,發(fā)熱量大,壽命短,易死機(jī),且成本高昂)②當(dāng)時(shí)的計(jì)算機(jī)內(nèi)存很小,只有一千到兩K的存儲(chǔ)空間,為了使更多的存儲(chǔ)單元運(yùn)算關(guān)鍵的大數(shù)據(jù),所以當(dāng)時(shí)所有的機(jī)器,都只支持直接尋址,即直接在計(jì)算機(jī)中輸入{A3},以便減輕計(jì)算機(jī)運(yùn)轉(zhuǎn)負(fù)荷。

9由于當(dāng)時(shí)的技術(shù)及科技的相對落后,人們無法于硬件上設(shè)計(jì)一個(gè)浮點(diǎn)運(yùn)算,再加上當(dāng)時(shí)計(jì)算機(jī)存儲(chǔ)量的低下,人們自然而然的想到能否設(shè)計(jì)一種系統(tǒng),讓計(jì)算機(jī)在這個(gè)虛擬世界中,通過特定的邏輯運(yùn)算和相關(guān)命令,來用當(dāng)前的硬件配置去執(zhí)行浮點(diǎn)運(yùn)算及數(shù)組下標(biāo)尋址。毫無疑問,這種想法是可行的。但當(dāng)時(shí)的機(jī)器語言和匯編語言由于無法有效地編輯邏輯語言和與之相關(guān)的預(yù)算法則,制約了這種想法的實(shí)現(xiàn)。而FORTRAN語言的誕生,恰解燃眉之急。2.FORTRAN語言的發(fā)明者:約翰·貝克斯約翰貝克斯的圖片1924年12月3日生于美國賓夕法尼亞州費(fèi)城,1957年4月他所領(lǐng)導(dǎo)13人小組推出全世界第一套高階電腦語言FORTRAN,并首次用在IBM

704計(jì)算機(jī)上面,1958年推出FORTRANⅡ,幾年后又推出FORTRANⅢ,1962年推出FORTRANⅣ,被稱為FORTRAN語言之父。他所開發(fā)的Speedcoding的程序,適用于浮點(diǎn)數(shù)運(yùn)算,沿用至今。10①讓程序員可以方便的寫數(shù)學(xué)公式②用FORTRAN語言編寫的系統(tǒng)最后能夠解析/生成足夠的快的程序③讓其能以充分低的代價(jià)把含有豐富數(shù)學(xué)表達(dá)式的程序翻譯成高效的目標(biāo)程序。3.約翰·貝克斯開發(fā)FORTRAN高級(jí)語言的宗旨是什么?上述所陳述的幾點(diǎn)對于FORTRAN的存在有著至關(guān)重要的意義,因?yàn)樗O(shè)計(jì)之初就是為了解決計(jì)算機(jī)浮點(diǎn)運(yùn)算和數(shù)組下標(biāo)尋址這兩項(xiàng)難點(diǎn)。在生活中,2.2+2.2=4.4這樣一個(gè)再簡單不過的數(shù)學(xué)運(yùn)算,要想讓計(jì)算機(jī)讀懂并對它進(jìn)行正確的運(yùn)算,在FORTRAN語言出現(xiàn)前是一件很困難的事,其原因在于計(jì)算機(jī)只識(shí)別0,1機(jī)器代碼。想要讓計(jì)算機(jī)識(shí)別小數(shù)點(diǎn),需要程序員對其進(jìn)行大量計(jì)算然后轉(zhuǎn)碼,再將轉(zhuǎn)碼輸入計(jì)算機(jī)才能得到最終的數(shù)值,這無疑會(huì)消耗程序員大量的時(shí)間。同時(shí)由于系統(tǒng)有低級(jí)語言編成,系統(tǒng)無法像FORTRAN及后來的高級(jí)語言一樣直接識(shí)別數(shù)學(xué)法則與邏輯的運(yùn)算,而這也就造成了系統(tǒng)對輸入的程序/代碼的解析/生成效率低下。而FORTRAN語言恰好很好的解決了這幾個(gè)問題。FORTRAN語言編程流程圖程序員對問題進(jìn)行分析,并對此使用合理地?cái)?shù)學(xué)公式,然后將其輸入FORTRAN語言編輯器FORTRAN語言編輯器對輸入的代碼、數(shù)學(xué)公式進(jìn)行識(shí)別、排列,然后轉(zhuǎn)化為機(jī)器碼,輸入計(jì)算機(jī)計(jì)算機(jī)識(shí)別輸入機(jī)器碼并運(yùn)算,最終得出結(jié)果114.FORTRAN語言出現(xiàn)的意義人類歷史上第一個(gè)面向過程的高級(jí)程序設(shè)計(jì)語言,第一個(gè)第三代程序設(shè)計(jì)語言,并引發(fā)了程序設(shè)計(jì)語言的第一次革命,在其之后的60年里,越來越多的高級(jí)語言參照FORTRAN語言如雨后春筍般出現(xiàn),它們或借鑒于FORTRAN或借鑒于他的后秀,但不管怎樣,都能在它們身上看到FORTRAN的一些思想。影響周期長。FORTRAN語言是最早出現(xiàn)的高級(jí)語言之一,它的生命周期很長,從20世紀(jì)50年代一直延續(xù)至今,在數(shù)值計(jì)算領(lǐng)域至今仍在使用,特別是在大型數(shù)組的矩陣計(jì)算中非常有特色,在計(jì)算機(jī)語言的發(fā)展中仍然占有重要地位。促使語言標(biāo)準(zhǔn)化工作被提上了日程,解決了計(jì)算機(jī)與計(jì)算機(jī)之間語言的兼容問題。也在一定程度上加快了全球化的步伐。圖中所展示的是IBM704計(jì)算機(jī),發(fā)布于1957年,也是首個(gè)使用FORTRSAN語言的計(jì)算機(jī)。當(dāng)時(shí)一經(jīng)發(fā)布,便引起巨大轟動(dòng),首批IBM704在很短的時(shí)間內(nèi)變賣脫銷,以至于IBM總部不得不加把加點(diǎn)趕工,才勉強(qiáng)滿足市場需求。在當(dāng)時(shí),這臺(tái)計(jì)算機(jī)銷量超200臺(tái),年銷售額過十億美元。而在當(dāng)時(shí),100萬美元相當(dāng)于現(xiàn)在的1.5億美元。12導(dǎo)讀:FORTRAN語言的產(chǎn)生,讓程序設(shè)計(jì)語言步入了高級(jí)語言時(shí)代,使得計(jì)算機(jī)的使用效率大大提高,但FORTRAN語言也有著它的局限性,那就是它不適合來處理日常經(jīng)濟(jì)生活中大量的數(shù)據(jù),尤其是銀行和商業(yè)領(lǐng)域的數(shù)據(jù)。由于早期計(jì)算機(jī)的價(jià)格異常昂貴,在設(shè)計(jì)之初主要的是用于科學(xué)計(jì)算,比如彈道導(dǎo)彈彈道軌跡的計(jì)算、航天飛行器的軌跡模擬等。但隨著時(shí)間的推進(jìn),科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)速度越來越快,價(jià)格也逐步降低,人美自然而然就想到用計(jì)算機(jī)來處理日常經(jīng)濟(jì)生活中大量的數(shù)據(jù),尤其是銀行和商業(yè)領(lǐng)域的數(shù)據(jù)。這些數(shù)據(jù)計(jì)算起來并不是特別復(fù)雜,但有其內(nèi)在的規(guī)律,比如輸入輸出的量非常巨大,而且所處理的對象主要以記錄和文件的形式,顯然使用FORTRAN這種為密集型浮點(diǎn)預(yù)算而生的程序處理并不一定適合。于是在1959年,由美國的一些計(jì)算機(jī)用戶組織設(shè)計(jì)了專門用于商務(wù)處理的計(jì)算機(jī)語言,用以專門處理銀行和商業(yè)領(lǐng)域的大數(shù)據(jù),他就是COBOL語言。Ⅱ、COBOL語言——第一個(gè)廣泛使用的高級(jí)編程語言1.發(fā)展歷程:1959年5月,五角大樓委托格雷斯·霍波(G.Hopper)博士領(lǐng)導(dǎo)一個(gè)委員會(huì)并由RearAdmiralGraceHopper公司主持開發(fā),并于1961年由美國數(shù)據(jù)系統(tǒng)語言協(xié)會(huì)公布。經(jīng)不斷修改、豐富完善和標(biāo)準(zhǔn)化,已發(fā)展為多種版本。2.概念:面向商業(yè)的通用語言,又稱為企業(yè)管理語言、數(shù)據(jù)處理語言等。是一種專門面向數(shù)據(jù)處理的、面向文件的、面向過程(POL)的高級(jí)編程語言,可使商業(yè)數(shù)據(jù)處理過程精確表達(dá)。3.語言特征:①面向數(shù)據(jù)處理的、面向文件的、面向過程(POL)的高級(jí)編程語言,適合于具有循環(huán)處理周期的環(huán)境(例如打印工資支票)以及數(shù)據(jù)操縱量相當(dāng)大的環(huán)境。13②功能很強(qiáng),語言極為冗長,語法與英文很接近,即使不懂電腦的人也能看懂程序。③語法與英文很接近,即使不懂電腦的人也能看懂程序。3.重要性:擁有龐大的用戶群和代碼,目前用COBOL書寫的程序已超過了1000億行。另外世界上目前所使用的商業(yè)應(yīng)用軟件之中的百分之七十是由COBOL代碼編寫,并以每年大約五十億行代碼的速度在增長。比如在一些大型機(jī)、ATM機(jī)上使用的仍是COBOL語言。銀行、金融和會(huì)計(jì)行業(yè)占其中最大百分比。格雷斯·霍波,改變歷史的偉大女程序設(shè)計(jì)員,計(jì)算機(jī)軟件之母。格雷斯·霍波,一個(gè)被很多人遺忘的名字,在20世紀(jì)這樣一個(gè)大師與天才輩出的時(shí)代,作為一名女性,注定了被馮諾依曼,??颂?,愛因斯坦,奧本海默等人的光環(huán)所掩蓋。但當(dāng)我們拂去掩蓋在她身上的歷史灰塵,你才會(huì)發(fā)現(xiàn)她有多么耀眼,哪怕是21世紀(jì)的今天,計(jì)算機(jī)都依然遵守著她所制訂的秩序,比如年、月、日各兩位的日期存儲(chǔ)格式,還比如計(jì)算機(jī)界通用的術(shù)語“臭蟲”(Bug和家喻戶曉的“千年蟲”(Y2K),便都是她的杰作。14前言:在前面,我們了解了機(jī)器語言、匯編語言和之后出現(xiàn)的兩種高級(jí)語言—FORTRAN和GOBOL;。通過對程序設(shè)計(jì)語言發(fā)展過程的剖析,我們能夠體會(huì)到一門好的程序語言對計(jì)算機(jī)的重要性,雖然當(dāng)時(shí)的學(xué)術(shù)界越來越重視計(jì)算機(jī)語言的研發(fā),但還沒對其真正的重視起來,直到ALGOL高級(jí)語言的出現(xiàn),人們對程序設(shè)計(jì)語言的重視才達(dá)到一個(gè)符合它本身該達(dá)到的地位——成為一門獨(dú)立的科學(xué)學(xué)科!我們可以毫不夸張的說,ALGOL高級(jí)語言的出現(xiàn)是程序設(shè)計(jì)語言發(fā)展歷史中的一項(xiàng)里程碑,無論是其自身的架構(gòu)還是對于整個(gè)程序設(shè)計(jì)語言,他都當(dāng)之無愧?。。、?、ALGOL—第一個(gè)結(jié)構(gòu)程序化語言-又稱國際代數(shù)語言產(chǎn)生背景:高級(jí)語言編寫程序的編寫效率雖然比匯編語言高,但隨著計(jì)算機(jī)硬件技術(shù)的日益發(fā)展,人們對大型、復(fù)雜的軟件需求量劇增,而同時(shí)因缺乏科學(xué)規(guī)范、系統(tǒng)規(guī)劃與測試,程序含有過多錯(cuò)誤而無法使用,甚至帶來巨大損失。20世紀(jì)60年代中后期“軟件危機(jī)”的爆發(fā),使人們認(rèn)識(shí)到大型程序的編制不同于小程序?!败浖C(jī)”的解決一方面需要對程序設(shè)計(jì)方法、程序的正確性和軟件的可靠性等問題進(jìn)行深入研究,另一方面需要對軟件的編制、測試、維護(hù)和管理方法進(jìn)行深入研究。結(jié)構(gòu)化程序設(shè)計(jì)是一種程序設(shè)計(jì)的原則和方法。它討論了如何避免使用GOTO語句;如何將大規(guī)模、復(fù)雜的流程圖轉(zhuǎn)換成一種標(biāo)準(zhǔn)的形式,使得它們能夠用幾種標(biāo)準(zhǔn)的控制結(jié)構(gòu)(順序、分支和循環(huán))通過重復(fù)和嵌套來表示。在這樣的大背景下ALGOL誕生了。1.發(fā)展歷程:在1958年,ACM小組(美國計(jì)算機(jī)協(xié)會(huì))和以當(dāng)時(shí)聯(lián)邦德國的應(yīng)用數(shù)學(xué)和力學(xué)協(xié)會(huì)(GAMM)在蘇黎世召開會(huì)議,并把他們關(guān)于算法表示法的建議綜合為一,制作為一種編程語言,被命名為IAL(國際代數(shù)語言,InternationalAlgebraicLanguage),后來改稱Algol58,成為ALGOL家族的第一個(gè)成員。就這樣ALGOL誕生了。152.概念:一種表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論