程序設(shè)計(jì)語(yǔ)言的層次體系_第1頁(yè)
程序設(shè)計(jì)語(yǔ)言的層次體系_第2頁(yè)
程序設(shè)計(jì)語(yǔ)言的層次體系_第3頁(yè)
程序設(shè)計(jì)語(yǔ)言的層次體系_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、程序設(shè)計(jì)語(yǔ)言的層次體系程序設(shè)計(jì)語(yǔ)言分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言?xún)深?lèi)?!凹?jí) ”是指程序員與計(jì)算機(jī)對(duì)話(huà)的復(fù)雜程度。例如,就查詢(xún)語(yǔ)言來(lái)說(shuō),程序員 ( 經(jīng)常是用戶(hù)管理人員 ) 只需要涉及到計(jì)算機(jī) “做什么 ”,而不必涉及到計(jì)算機(jī) “怎樣做 ”。在高級(jí)語(yǔ)言中, 程序員必須提供詳細(xì)說(shuō)明 “做什么 ”和 “怎樣做”的指令,而軟件工具將幫助簡(jiǎn)化程序員的工作。低級(jí)語(yǔ)言要求程序員詳細(xì)說(shuō)明由計(jì)算機(jī)執(zhí)行的每一級(jí)操作。 在使用高級(jí)程序設(shè)計(jì)語(yǔ)言時(shí),程序員不必記住數(shù)據(jù)在主存中的存儲(chǔ)單元。這是由系統(tǒng)自動(dòng)做的。 而在使用低級(jí)語(yǔ)言時(shí), 程序員必須在程序中提供相應(yīng)的邏輯, 以便監(jiān)視數(shù)據(jù)在主存中的物理位置。低級(jí)語(yǔ)言雖然人們用COBOL、P

2、ASCAL和 FORTRAN來(lái)談?wù)摮绦蛟O(shè)計(jì),但是只有一種語(yǔ)言能夠在給定的計(jì)算機(jī)上執(zhí)行。那就是所謂的機(jī)器語(yǔ)言。所有其他語(yǔ)言都要被編譯( 翻譯成機(jī)器語(yǔ)言) ,并且最終用機(jī)器語(yǔ)言來(lái)執(zhí)行。機(jī)器語(yǔ)言是很繁瑣的,因?yàn)橹噶?( 又稱(chēng)操作碼或OP碼) 和運(yùn)算數(shù)據(jù)的單元是用二進(jìn)制( 一串 0 和 1) 來(lái)表示的。符號(hào)語(yǔ)言( 有時(shí)稱(chēng)作匯編語(yǔ)言或匯編級(jí)的語(yǔ)言) 具有一個(gè)本質(zhì)上與機(jī)器語(yǔ)言一一對(duì)應(yīng)的指令系統(tǒng)。匯編語(yǔ)言的優(yōu)點(diǎn)是它用助記符號(hào)而不是用0 和 1 來(lái)表示指令。 例如,匯編語(yǔ)言中直接用“A”來(lái)表示 “加”指令,而不用一串0 和 1 來(lái)表示。在 1970 年之前,機(jī)器級(jí)和匯編級(jí)語(yǔ)言常常用于應(yīng)用程序的開(kāi)發(fā),特別用于系

3、統(tǒng)軟件的開(kāi)發(fā)。當(dāng)時(shí)信息服務(wù)人員認(rèn)為目標(biāo)程序利用計(jì)算機(jī)的效率高。自那時(shí)以來(lái)使用高級(jí)語(yǔ)言無(wú)論在發(fā)揮人或是計(jì)算機(jī)的效率上都超過(guò)了機(jī)器語(yǔ)言。由于這一原因, 多數(shù)現(xiàn)行的程序設(shè)計(jì)都是用高級(jí)語(yǔ)言來(lái)完成的。高級(jí)語(yǔ)言1.面向過(guò)程的語(yǔ)言面向過(guò)程的語(yǔ)言(POL) 是極其靈活的,可以用來(lái)刻劃幾乎所有科學(xué)的和商業(yè)的過(guò)程。程序順序地編寫(xiě)指令,而系統(tǒng)則根據(jù)用戶(hù)的規(guī)定進(jìn)行處理。例如,工資系統(tǒng)就是使用POL來(lái)編定的。 除非由程序邏輯控制去做其他事情,否則程序中的每一條指令都是按順序執(zhí)行的。在一個(gè)工資單生成系統(tǒng)中,執(zhí)行程序指令的特定順序取決于被處理的職工的工資計(jì)算方法( 是按月發(fā)工資,還是按工時(shí)計(jì)算工資) 。對(duì)每個(gè)職工都要重復(fù)該

4、程序流程的順序。有三種主要的 POL:科學(xué)計(jì)算的、商用的以及多用途的。下面我們分別討論每一種POL。(1) 科學(xué)計(jì)算的語(yǔ)言??茖W(xué)計(jì)算的語(yǔ)言是代數(shù)或公式化的語(yǔ)言。這種語(yǔ)言是為了滿(mǎn)足典型的科學(xué)計(jì)算處理要求( 矩陣操作、 精度計(jì)算以及其它方面) 而設(shè)計(jì)的。 第一個(gè)而且仍然是最為流行的科學(xué)計(jì)算語(yǔ)言是FORTRAN(公式翻譯程序的縮寫(xiě)) 。盡管在沒(méi)有商業(yè)語(yǔ)言時(shí)( 在計(jì)算機(jī)不支持任何其它語(yǔ)言的情況下)FORTRAN已作為一種商用語(yǔ)言來(lái)使用了,但是FORTRAN的商業(yè)處理能力是有限的。APL語(yǔ)言很快地抓住了一些用戶(hù)( 主要是工程師 ) 。 APL 是唯一使用帶有專(zhuān)用符號(hào)的交互式鍵盤(pán)來(lái)編寫(xiě)程序的語(yǔ)言。(2)商

5、用語(yǔ)言。目前很流行的第一個(gè)商用語(yǔ)言是COBOL(面向商業(yè)的公用語(yǔ)言的縮寫(xiě)) 。它是一種功能很強(qiáng)而又極為冗長(zhǎng)的語(yǔ)言。發(fā)展 COBOL語(yǔ)言的前提是: 該語(yǔ)言的語(yǔ)句應(yīng)該近似于英語(yǔ)。有些程序員發(fā)現(xiàn)語(yǔ)言使用起來(lái)很麻煩。然而,COBOL語(yǔ)言尚處于方興未艾的時(shí)期,而且被廣泛地接受。今天,人們正在繼續(xù)對(duì)它進(jìn)行改進(jìn)。在若干年內(nèi),COBOL仍將是一種流行的商用語(yǔ)言,但是使用該語(yǔ)言的相對(duì)百分比將會(huì)下降。COBOL最適合于具有循環(huán)處理周期的環(huán)境 ( 例如打印工資支票) 以及數(shù)據(jù)操縱量相當(dāng)大的環(huán)境。美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI) 已經(jīng)對(duì) COBOL和其他語(yǔ)言建立了標(biāo)準(zhǔn)。建立這些標(biāo)準(zhǔn)的目的是使得在一臺(tái)計(jì)算機(jī)上編寫(xiě)的程序可

6、以移植到另一臺(tái)( 即另一個(gè)廠(chǎng)商制造的) 機(jī)器上去。不幸的是, ANSI 標(biāo)準(zhǔn)很少被遵循;因此,COBOL程序只是部分可移植的。報(bào)表程序生成程序(RPG)可能是僅次于COBOL的最為流行的商業(yè)語(yǔ)言了。最初設(shè)計(jì)的RPG是在 IBM 公司數(shù)據(jù)錄入級(jí)的計(jì)算機(jī)上使用的。它用于一些成批處理環(huán)境的小型商業(yè)工作。RPG與其它POL 不同之處在于程序員還必須通過(guò)選擇所要求的程序設(shè)計(jì)特色來(lái)說(shuō)明某些處理要求( 例如何時(shí)打印小計(jì)記錄的選擇等等) 。BASIC 設(shè)計(jì)者的最意圖體現(xiàn)在該語(yǔ)言的名字上初學(xué)者通用的符號(hào)指令碼 (BaginersAll-PurposeSymbolicInstructionalCode) 。最初它

7、被當(dāng)作講授程序設(shè)計(jì)的一個(gè)工具,但是在這個(gè) “初學(xué)者 ”語(yǔ)言的能力被充分?jǐn)U充后,它變得如此流行,以致目前 BASIC 是小型計(jì)算機(jī)系統(tǒng)上用于應(yīng)用程序設(shè)計(jì)的一種上要語(yǔ)言。在大系統(tǒng)上也使用擴(kuò)展 BASIC,但不是用于生產(chǎn)系統(tǒng)。 由于 BASIC 通常也用來(lái)進(jìn)行少量的科學(xué)計(jì)算, 因此,有人可能把它劃歸為多用途POL一類(lèi)。(3) 多用途語(yǔ)言。多用途語(yǔ)言對(duì)于商業(yè)和科學(xué)計(jì)算是同等有效的。最為明顯的多用途語(yǔ)言是程序計(jì)算語(yǔ)言 1/( 即 PL/T) 。PL/1 是在 1956 年由 IBM 公司普制出來(lái)的,但是,與任何一種語(yǔ)言一樣,它需要幾年的時(shí)間來(lái)排錯(cuò)。許多公司 ( 主要是 IBM 公司的用戶(hù) ) ,已經(jīng)采用

8、 PL/1 作為它們所使用的唯一的 POL。在剛剛引入 PL/1 時(shí),由于它克服了現(xiàn)有程序設(shè)計(jì)語(yǔ)言的許多缺點(diǎn)而受到歡迎。然而, PL/1 仍然沒(méi)有得到 ( 原先期望那樣 ) 普遍地接受。其原因并非它的質(zhì)量和能力,而是由于許多公司已花了巨大投資用 COBOL和 FORTAN編制了大量應(yīng)用軟件。同時(shí)也由于使用這兩種語(yǔ)言的勢(shì)頭還在增長(zhǎng)。以最快速度發(fā)展起來(lái)的語(yǔ)言是 PASCAL,它是以 17 世紀(jì)的數(shù)學(xué)家 Blaise Pascal 來(lái)命名的。 PASCAL被看成是一種最新的 POL。盡管只有 1%-2%的商業(yè)生產(chǎn)程序是用 PAS-CAL寫(xiě)的,但是它的能力、靈活性以及自我說(shuō)明結(jié)構(gòu)是不可忽略的。致使這個(gè)

9、語(yǔ)言被廣泛接受( 而且接受面還在繼續(xù)增大) 的原因或許是因?yàn)榻^大多數(shù)的學(xué)院和大學(xué)的計(jì)算機(jī)科學(xué)教程主張將PASCAL作為未來(lái)的POL。隨著畢業(yè)生將這種主張帶進(jìn)商業(yè)界,目前它已經(jīng)引起了各界的興趣。ADA是新近引入的一種語(yǔ)言,它是美國(guó)國(guó)防部開(kāi)發(fā)的一種多用途語(yǔ)言。盡管只有少數(shù)人知道和理解 ADA的用法,然而對(duì)于它能否被廣泛接受 ( 不僅在軍界, 對(duì)其他部門(mén)也一樣 ) 。這一點(diǎn),它的設(shè)計(jì)者們是很樂(lè)觀(guān)的。2. 面向問(wèn)題的語(yǔ)言面向問(wèn)題的語(yǔ)言,是專(zhuān)門(mén)為了滿(mǎn)足某種特定應(yīng)用或解決特定問(wèn)題的一組語(yǔ)句。面向問(wèn)題有的語(yǔ)言不要求像面向過(guò)程的語(yǔ)言的那種詳細(xì)說(shuō)明。例如,有幾種面向問(wèn)題的語(yǔ)言就是專(zhuān)為統(tǒng)計(jì)分析而設(shè)計(jì)的。 這種語(yǔ)言

10、的用戶(hù)將注意力更多地集中在輸入和輸出上,而不是在數(shù)學(xué)上。數(shù)學(xué)是嵌入在語(yǔ)言中的。已經(jīng)為幾十種應(yīng)用設(shè)計(jì)了各種面向問(wèn)題的語(yǔ)言,這些語(yǔ)言正在被用戶(hù)使用。這些應(yīng)用是:離散和連續(xù)模擬( 例如, GPSS、 SIMSCRIPT、GASP-IV) ,程控機(jī)器刀具( 例如, APT),輔助工程師進(jìn)行建筑和橋梁上的受力點(diǎn)分析( 例如, GOGO),輔助系統(tǒng)分析( 例如, SAS)以及輔助辦公人員進(jìn)行字處理( 例如, SCRIBE)。面向問(wèn)題的語(yǔ)言具有做統(tǒng)計(jì)、字處理和任何語(yǔ)言所滿(mǎn)足的應(yīng)用的靈活性。然而,一種面向問(wèn)題的語(yǔ)言總是局限于某種應(yīng)用。3.查詢(xún)語(yǔ)言與其它高級(jí)語(yǔ)言相比,用戶(hù)和用戶(hù)管理人員更喜歡使用查詢(xún)語(yǔ)言。然而,

11、 根據(jù)不同的情況,某個(gè)用戶(hù)可能會(huì)發(fā)現(xiàn)某種特定的面向問(wèn)題的語(yǔ)言對(duì)他更有用。查詢(xún)的語(yǔ)言是朝著用戶(hù)環(huán)境發(fā)展的典范。一個(gè)用戶(hù)管理人員經(jīng)過(guò)幾個(gè)小時(shí)的培訓(xùn)和實(shí)踐就能有效地使用一種查詢(xún)語(yǔ)言。然后, 他用很短的時(shí)間就能從一個(gè)信息系統(tǒng)中抽取信息或產(chǎn)生出一張報(bào)表。而通常這點(diǎn)時(shí)間只夠用來(lái)向一個(gè)系統(tǒng)分析員或程序員說(shuō)明技術(shù)要求。用戶(hù)只需說(shuō)明做什么,而查詢(xún)語(yǔ)言軟件將自動(dòng)規(guī)定怎樣做。查詢(xún)語(yǔ)言利用高級(jí)的、類(lèi)似英語(yǔ)的命令來(lái)檢索和編排滿(mǎn)足管理查詢(xún)和制表要求的數(shù)據(jù)。用查詢(xún)語(yǔ)言可以交互式地完成一次詢(xún)問(wèn)( 直接與計(jì)算機(jī)通信) 。執(zhí)行程序產(chǎn)生的輸出直接在終端上顯示出來(lái), 或者產(chǎn)生一份硬拷貝。查詢(xún)語(yǔ)言具有以下特色:類(lèi)似于英語(yǔ)的命令,對(duì)數(shù)據(jù)

12、的有限的數(shù)學(xué)運(yùn)算操作,對(duì)報(bào)表的自動(dòng)編排、排序以及按關(guān)鍵字挑選記錄等。4. 應(yīng)用程序生成程序盡管應(yīng)用程序生成程序的概念至今沒(méi)有嚴(yán)格的定義,但是目前已經(jīng)使用的那些應(yīng)用程序生成程序的目標(biāo)以及各種開(kāi)發(fā)步驟的目標(biāo)是相同的。即它是不需要過(guò)程級(jí)指令就能夠說(shuō)明開(kāi)發(fā)一個(gè)信息系統(tǒng)的所有程序設(shè)計(jì)任務(wù)的一種語(yǔ)言。某些應(yīng)用程序生成程序 ( 通過(guò)與程序員進(jìn)行交互式對(duì)話(huà) ) 已經(jīng)接近這一目標(biāo)。當(dāng)用應(yīng)用程序生成程序還在早期的開(kāi)發(fā)階段?,F(xiàn)有的應(yīng)用程序生成程序并不具備面向過(guò)程語(yǔ)言的那種靈活性,而且不能用來(lái)開(kāi)發(fā)完善的信息系統(tǒng)。然而當(dāng)用于預(yù)期的用途時(shí), 它將能成倍地提高程序員的生產(chǎn)效率。 當(dāng)它們成熟時(shí), 在信息系統(tǒng)的開(kāi)發(fā)中應(yīng)用程序生成程序?qū)⑵鹬絹?lái)越重要的作用。未來(lái)的語(yǔ)言程序設(shè)計(jì)語(yǔ)言的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論