計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史_第1頁(yè)
計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史_第2頁(yè)
計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

【鍵的設(shè)我對(duì)程序設(shè)計(jì)的一點(diǎn)粗淺看法——計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史【內(nèi)容提要】程序設(shè)計(jì)(Programming)是給出解決特定問(wèn)題程序的過(guò)程,是軟件構(gòu)造活動(dòng)中的重要組成部分。程序設(shè)計(jì)一般是以某種程序設(shè)計(jì)語(yǔ)言為基石,構(gòu)造出這種語(yǔ)言下的程序。程序設(shè)計(jì)的過(guò)程一般包括分析、設(shè)計(jì)、編碼、測(cè)試、排錯(cuò)等不同階段。程序設(shè)計(jì)語(yǔ)言是人們?yōu)榱嗣枋鲇?jì)算過(guò)程而設(shè)計(jì)的一種具有語(yǔ)法語(yǔ)義描述的記號(hào)。沒(méi)有程序設(shè)計(jì)語(yǔ)言支持的計(jì)算機(jī)無(wú)異于一堆廢料。從最早的一代設(shè)計(jì)程序語(yǔ)言一一機(jī)器語(yǔ)言,到現(xiàn)在的面向于數(shù)據(jù)庫(kù)的第四代語(yǔ)言,程序設(shè)計(jì)語(yǔ)言的發(fā)展已經(jīng)突破了語(yǔ)言的本身,更是一種交互式程序設(shè)計(jì)環(huán)境的發(fā)展。在計(jì)算機(jī)問(wèn)世至今的半個(gè)世紀(jì)中,人們一直在為研究出更新更好的程序設(shè)計(jì)語(yǔ)言而努力著?!娟P(guān)鍵詞】程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)方法計(jì)算機(jī)技術(shù)發(fā)展計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史一、程序設(shè)計(jì)語(yǔ)言的發(fā)展(一)“史前”時(shí)期世界上最早的"計(jì)算機(jī)"是我國(guó)的算盤,它被人們沿用至今。在17世紀(jì),Pascal等人發(fā)明了一種以傳動(dòng)齒輪為基礎(chǔ)的“計(jì)算機(jī)”,它是以齒輪的轉(zhuǎn)動(dòng)來(lái)控制計(jì)算的累加與進(jìn)位。上個(gè)世紀(jì)初,英國(guó)劍橋大學(xué)著名數(shù)學(xué)家CharlesBabbage于1822年與1848年分別設(shè)計(jì)出了兩種差分機(jī),并于1833年制造出了有名的分析機(jī)。分析機(jī)在原理上與當(dāng)今社會(huì)的計(jì)算機(jī)非常類似,它靠輸入讀進(jìn)穿孔卡片來(lái)對(duì)輸入的數(shù)進(jìn)行算術(shù)運(yùn)算并給出結(jié)果。而且分析機(jī)可以隨意重復(fù)運(yùn)算序列。這些是由AdaLovelace設(shè)計(jì)的運(yùn)算序列可以解決許多問(wèn)題。實(shí)際上,這種運(yùn)算序列就是程序的雛形,而這種設(shè)計(jì)思想一直沿用至今。因而XdaLovelace被稱為是世界上第一個(gè)程序員(ADA語(yǔ)言就是為紀(jì)念她而命名)。1890年Hollerith研制出了一種同樣使用穿孔卡片的統(tǒng)計(jì)機(jī)被用作各種統(tǒng)計(jì)工作。此后,Hollerith成立了一個(gè)公司,這個(gè)公司便是如今的IBM。本世紀(jì)30年代,英國(guó)數(shù)學(xué)家Turing提出了圖靈機(jī)的概念,它是由一個(gè)控制塊、一條存儲(chǔ)帶及一個(gè)讀寫頭構(gòu)成的能執(zhí)行左移、右移、在存儲(chǔ)帶中清除或?qū)懭敕?hào)以及條件轉(zhuǎn)移等操作的機(jī)器。這種圖靈機(jī)的結(jié)構(gòu)雖然較為簡(jiǎn)單,但是卻能完成現(xiàn)代計(jì)算機(jī)所能完成的一切運(yùn)算。隨后Church發(fā)明了一種以邏輯公式中約束變量的代入為主要運(yùn)算的入-演算,這種運(yùn)算已經(jīng)相當(dāng)于一種語(yǔ)法與語(yǔ)義都非常簡(jiǎn)單的程序設(shè)計(jì)語(yǔ)言,已被廣泛應(yīng)用于程序理論以及程序設(shè)計(jì)語(yǔ)言理論與實(shí)踐的研究中。(二)低級(jí)語(yǔ)言時(shí)期第一代程序設(shè)計(jì)語(yǔ)言——機(jī)器語(yǔ)言機(jī)器語(yǔ)言是二進(jìn)制機(jī)器代碼編成的代碼序列,用來(lái)控制計(jì)算機(jī)執(zhí)行規(guī)定的操作。其特點(diǎn)是能直接反映計(jì)算機(jī)的硬件結(jié)構(gòu),并且用機(jī)器語(yǔ)言編寫的程序不須作任何處理即可直接輸入計(jì)算機(jī)執(zhí)行。由于機(jī)器語(yǔ)言與機(jī)器是一對(duì)一的,不同的機(jī)器有不同的指令系統(tǒng),一種機(jī)器編寫的程序也無(wú)法直接搬到另一種機(jī)器上運(yùn)行。一個(gè)問(wèn)題如果需要在多種機(jī)器上求解,那么就必須對(duì)同一問(wèn)題重復(fù)編寫多個(gè)應(yīng)用程序。第二代程序設(shè)計(jì)語(yǔ)言一一匯編語(yǔ)言由于機(jī)器語(yǔ)言程序的直觀性差,且與人們習(xí)慣使用的數(shù)學(xué)表達(dá)式及自然語(yǔ)言差距太大,導(dǎo)致機(jī)器語(yǔ)言難學(xué)、難記,編寫出來(lái)的程序難以調(diào)試、修改、移植和維護(hù),極大限制了計(jì)算機(jī)的推廣作用。在這種情況下,用助記符號(hào)來(lái)表示機(jī)器指令的操作符與操作數(shù)(亦稱運(yùn)算符與運(yùn)算東西),用地址符號(hào)或標(biāo)號(hào)代替指令或操作數(shù)的地址的匯編語(yǔ)言出現(xiàn)了。機(jī)器不能直接識(shí)別使用匯編語(yǔ)言編寫的程序,還要由匯編語(yǔ)言編譯器轉(zhuǎn)換成機(jī)器指令才能運(yùn)行。由于匯編語(yǔ)言與機(jī)器指令之間是一對(duì)一的關(guān)系,導(dǎo)致即使是編寫一個(gè)很簡(jiǎn)單的程序也需要數(shù)百條指令。所以在匯編語(yǔ)言的基礎(chǔ)上,人們又研制出了只需一條指令便可編譯成多條機(jī)器指令的宏匯編語(yǔ)言。而后又研制出了用于把多個(gè)獨(dú)立編寫的程序塊連接組裝成一個(gè)完整程序的連接程序。但匯編語(yǔ)言大多是針對(duì)特定的計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的,所以它對(duì)機(jī)器的依賴性很強(qiáng),同時(shí)還有很多的機(jī)器語(yǔ)言中存在的問(wèn)題,匯編語(yǔ)言也沒(méi)有解決。(三)高級(jí)語(yǔ)言階段1954年,第一個(gè)完全脫離機(jī)器硬件的高級(jí)語(yǔ)言一一FORTRAN語(yǔ)言問(wèn)世了。高級(jí)語(yǔ)言在不同的平臺(tái)上會(huì)被編譯成不同的機(jī)器語(yǔ)言,使得程序設(shè)計(jì)語(yǔ)言不再過(guò)度的依賴某種特定的機(jī)器或者語(yǔ)言環(huán)境。1970年,一個(gè)標(biāo)志著結(jié)構(gòu)化程序設(shè)計(jì)時(shí)期開始的語(yǔ)言問(wèn)世了,它就是Pascal語(yǔ)言。這個(gè)標(biāo)致性的語(yǔ)言擁有嚴(yán)格的結(jié)構(gòu)化形式、豐富且完備的數(shù)據(jù)類型,運(yùn)行效率高、查錯(cuò)能力強(qiáng)。同時(shí)Pascal語(yǔ)言還是一種自編譯語(yǔ)言。這個(gè)以法國(guó)數(shù)學(xué)家pascal命名的語(yǔ)言現(xiàn)已成為使用最廣泛的基于DOS的語(yǔ)言之一。80年代初,在程序設(shè)計(jì)的思想上又發(fā)生了一次大的革命。這個(gè)時(shí)期研制出的語(yǔ)言多為面對(duì)東西的程序設(shè)計(jì)。之后,高級(jí)語(yǔ)言的目標(biāo)則是面對(duì)應(yīng)用的程序設(shè)計(jì)。它側(cè)重于描述程序“做什么”而不是“如何做”。程序設(shè)計(jì)語(yǔ)言的發(fā)展是一個(gè)不斷演變的過(guò)程。從最開始的機(jī)器語(yǔ)言,到匯編語(yǔ)言,再到各種各樣的高級(jí)語(yǔ)言,最后到支持面對(duì)東西技術(shù)的面對(duì)東西的語(yǔ)言,甚至未來(lái)的面對(duì)應(yīng)用的語(yǔ)言,它的演化過(guò)程的根本推動(dòng)力就是抽象機(jī)制的更高要求,以及對(duì)程序設(shè)計(jì)思想的更好的支持。也就是說(shuō)把機(jī)器能夠理解的語(yǔ)言提升到能夠很好的模擬人類思考問(wèn)題的形式的過(guò)程。二、程序設(shè)計(jì)方法的發(fā)展(一)傳統(tǒng)的程序設(shè)計(jì)方法傳統(tǒng)的編程方法主要是基于DOS操作系統(tǒng)下計(jì)算機(jī)程序的編程方法。用傳統(tǒng)的編程方法編制完成特定功能的程序時(shí),必須設(shè)計(jì)程序的算法,明晰數(shù)據(jù)的流程。傳統(tǒng)編程方法的算法是變化多端的,同一問(wèn)題可以有最優(yōu)算法,也可以有一般算法,甚至可能存在劣等算法;它的數(shù)據(jù)流程是紛繁雜亂的,數(shù)據(jù)的調(diào)用、控制方向等又是交叉變化的,而且這種編程方法一般依賴于操作平臺(tái)、編譯系統(tǒng)等,所以移植性比較差。導(dǎo)致程序的設(shè)計(jì)也變得困難和繁瑣。(二)可視化編程方法可視化編程可通過(guò)調(diào)用控件,并為控制東西設(shè)置屬性,根據(jù)開發(fā)者的需要,直接在窗口中進(jìn)行用戶界面的布局設(shè)計(jì)。該項(xiàng)技術(shù)的優(yōu)點(diǎn)是:編程簡(jiǎn)單、自動(dòng)生成程序代碼、效率高。因此在當(dāng)今的編程語(yǔ)言中也被廣泛采用。(三)面向東西的編程方法為了實(shí)現(xiàn)整體運(yùn)算,每個(gè)東西都能夠接收信息、處理數(shù)據(jù)和向其它東西發(fā)送信息而應(yīng)運(yùn)而生的面對(duì)東西的編程方法達(dá)到了軟件工程的三個(gè)主要目標(biāo):重用性、靈活性和擴(kuò)展性。用這種方法編寫出的計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的單元或東西組合而成的。面向東西設(shè)計(jì)是一種把面向東西的思想應(yīng)用于軟件開發(fā)過(guò)程中,指導(dǎo)開發(fā)活動(dòng)的系統(tǒng)方法。是建立在'東西”概念基礎(chǔ)上的方法學(xué)。東西是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接對(duì)應(yīng)關(guān)系,一個(gè)東西類定義了具有相似性質(zhì)的一組東西。而繼承性是對(duì)具有層次關(guān)系的東西類的屬性和操作進(jìn)行共享的一種方式。從傳統(tǒng)的程序設(shè)計(jì)方法,發(fā)展到可視化編程序設(shè)計(jì)方法,進(jìn)而發(fā)展到面向東西的程序設(shè)計(jì)方法的發(fā)展軌跡,是計(jì)算機(jī)程序設(shè)計(jì)方法發(fā)展的三個(gè)重要的階段。在程序設(shè)計(jì)實(shí)踐中,這三種方法不僅嚴(yán)格獨(dú)立,又相互交叉,彼此緊密聯(lián)系。但是需要指出的是,在當(dāng)今社會(huì)面向東西的程序設(shè)計(jì)方法是最大眾化的程序設(shè)計(jì)方法,這是毋庸置疑的。今天,程序設(shè)計(jì)方法學(xué)的研究已經(jīng)取得了非常多的成果,不僅是結(jié)構(gòu)程序設(shè)計(jì)的方法日益完善,且廣泛推廣。模塊程序化,遞歸程序設(shè)計(jì)方法和逐步求精程序設(shè)計(jì)方法等均取得了巨大的成果,成為當(dāng)今社會(huì)程序設(shè)計(jì)中非常有效的方法。而抽象數(shù)據(jù)的代數(shù)規(guī)范和程序的形式推導(dǎo)技術(shù)仍在發(fā)展中,特別是程序變換技術(shù)和自動(dòng)化方面還不成熟,但也取得了可喜的進(jìn)展。結(jié)論用科學(xué)的邏輯思維方法去認(rèn)識(shí)事物才能更加清楚的了解過(guò)去、現(xiàn)在和未來(lái)。程序設(shè)計(jì)的發(fā)展同樣遵循科學(xué)技術(shù)發(fā)展的一般規(guī)律。以自然辯證法的觀點(diǎn)來(lái)分析程序設(shè)計(jì)有助于我們更加深入的認(rèn)識(shí)和探討程序設(shè)計(jì)發(fā)展的歷史、現(xiàn)狀和未來(lái)的發(fā)展趨勢(shì)。有了自認(rèn)辯證法這把開啟科學(xué)認(rèn)知大門的鑰匙,我們將回首過(guò)去,把握現(xiàn)在,放眼未來(lái)。才能正確的選擇程序設(shè)計(jì)的發(fā)展方向,更好的學(xué)習(xí)和利用程序設(shè)計(jì)來(lái)改變我們的生活。參考文獻(xiàn)《程序設(shè)計(jì)語(yǔ)言概念》(美)RobertW.Sebesta編著中國(guó)電力出版社2006.1《程序設(shè)計(jì)語(yǔ)言編譯原理》陳火旺編著國(guó)防工業(yè)出版社2000.3《匯編語(yǔ)言程序設(shè)計(jì)》劉麗莉編著北京大學(xué)出版社2010.11《計(jì)算機(jī)語(yǔ)言及其應(yīng)用實(shí)例》童隆正,許遠(yuǎn)編電子工業(yè)出版社2003.8《計(jì)算機(jī)語(yǔ)言處理》(日本)安居院猛,中正之編著國(guó)防工業(yè)出版社2003.5《程序設(shè)計(jì)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論