計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史.docx_第1頁
計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史.docx_第2頁
計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史.docx_第3頁
計(jì)算機(jī)程序設(shè)計(jì)發(fā)展史.docx_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論