• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

        Ada 語(yǔ)言簡(jiǎn)介(轉(zhuǎn)自ADA IN CHINA)

        Ada 語(yǔ)言簡(jiǎn)介(轉(zhuǎn)自ADA IN CHINA)

        更新時(shí)間:2022-05-10 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

        -- 什么是 Ada ? --

        Ada是一種表現(xiàn)能力很強(qiáng)的通用程序設(shè)計(jì)語(yǔ)言,它是美國(guó)國(guó)防部為克服軟件開(kāi)發(fā)危機(jī),耗費(fèi)巨資,歷時(shí)近20年研制成功的。它被譽(yù)為 第四代計(jì)算機(jī)語(yǔ)言的成功代表。與其他流行的程序設(shè)計(jì)語(yǔ)言不同,它不僅體現(xiàn)了許多現(xiàn)代軟件的開(kāi)發(fā)原理,而且將這些原理付諸實(shí)現(xiàn)。因此,Ada語(yǔ)言的使用可大大改善軟件系統(tǒng)的 清晰性, 可靠性, 有效性, 可維護(hù)性。Ada是現(xiàn)有的語(yǔ)言中無(wú)與倫比的一種 大型通用程序設(shè)計(jì)語(yǔ)言,它是現(xiàn)代計(jì)算機(jī)語(yǔ)言的成功代表,集中反映了 程序語(yǔ)言研究的成果。 Ada的出現(xiàn),標(biāo)志著軟件工程成功地進(jìn)入了國(guó)家和國(guó)際的規(guī)模。在一定意義上說(shuō),Ada還刺破了“馮.偌依曼思維模式” (Von Newman Mind-set) 的桎梏,連同Ada的 支持環(huán)境(APSE)一起,形成了新一派的所謂 Ada文化。它是迄今為止 最復(fù)雜,最完備的軟件工具。 Ada語(yǔ)言是 美國(guó)國(guó)防部指定的 唯一的一種可用于 軍用系統(tǒng)開(kāi)發(fā)的語(yǔ)言,我國(guó)軍方也將Ada做為軍內(nèi)開(kāi)發(fā)標(biāo)準(zhǔn)(GJB 1383《程序設(shè)計(jì)語(yǔ)言Ada》)。


        --------------------------------------------------------------------------------

        -- 為什么稱(chēng)作 Ada --

        美國(guó)國(guó)防部之所以把這種語(yǔ)言取名為Ada,是為了紀(jì)念?yuàn)W左斯特. 艾達(dá).洛夫萊斯伯爵夫人 (Augusta Ada Lovlace 1815-1852),她是英格蘭詩(shī)人拜倫(Byron)勛爵的女兒,曾對(duì)現(xiàn)代計(jì)算機(jī)技術(shù)之父查爾斯.巴貝奇(Charles Babage)的筆記,手稿進(jìn)行了整理和修正。從某種意義上說(shuō),她是世界上第一位計(jì)算機(jī)程序員。


        --------------------------------------------------------------------------------

        -- 為什么使用 Ada? --

        在明白這個(gè)問(wèn)題之前,需要了解 Ada 的一系列特性。Ada 最初設(shè)計(jì)就是一門(mén)大型語(yǔ)言,因此在很多編程的重要問(wèn)題上都有所考慮,以下文字摘自《 Ada Reference Manual》:

        Ada最初設(shè)計(jì)時(shí)關(guān)注于 3 個(gè)最重要的問(wèn)題:程序的穩(wěn)定性和可維護(hù)性,程序設(shè)計(jì)和人的行為接近,并且高效。這份語(yǔ)言的修訂版是為了提供更大的靈活性和擴(kuò)展性,存儲(chǔ)管理的額外控制和同步,以及標(biāo)準(zhǔn)化的程序包以支持重要的應(yīng)用程序領(lǐng)域,同時(shí)保留原來(lái)的重點(diǎn):穩(wěn)定性,可維護(hù)性,和高效。對(duì)于程序設(shè)計(jì)語(yǔ)言促進(jìn)可靠性和簡(jiǎn)化維護(hù)難度的需求已被確立。因此程序可讀性的重要性高于輕松地寫(xiě)代碼。例如,語(yǔ)言規(guī)則要求程序變量應(yīng)當(dāng)明確聲明并指定它們的類(lèi)型。由于變量的數(shù)據(jù)類(lèi)型是不變的,編譯器可以確保對(duì)于變量的操作適用于該類(lèi)型的對(duì)象。另外,有錯(cuò)誤傾向的符號(hào)已經(jīng)避免,并且語(yǔ)言語(yǔ)法避免了編碼形式的使用,使更傾向于英語(yǔ)的結(jié)構(gòu)。最后,Ada 語(yǔ)言提供了程序單元單獨(dú)編譯的功能,使程序開(kāi)發(fā)和維護(hù)簡(jiǎn)便,同樣也提供了在一個(gè)單元內(nèi)多個(gè)單元之間的檢測(cè)。考慮人類(lèi)程序員的問(wèn)題也在設(shè)計(jì)時(shí)被強(qiáng)調(diào)。總而言之,在繼續(xù)避免過(guò)多復(fù)雜句型的缺陷的同時(shí),嘗試以一致系統(tǒng)的方式保持相對(duì)較少的底層概念。

         上面的文字還是過(guò)分抽象,但 Ada 的以下特性幾乎是公認(rèn)的:

        易讀性---專(zhuān)業(yè)人員往往要讀很多程序,因此要避免像 APL 那種以過(guò)于簡(jiǎn)單的符號(hào)編程的語(yǔ)言,雖然它們的編程速度快,但基本上是不可讀的。因此目前有種說(shuō)法是:讀一個(gè)程序比寫(xiě)類(lèi)似的程序還要費(fèi)時(shí),這也是有一定道理的;特別是 C/C++ 的風(fēng)格比較松散,很多語(yǔ)法都在濫用,使程序可讀性相當(dāng)?shù)停捎?Ada 的語(yǔ)法接近人的語(yǔ)言,即使是初學(xué)者,也不會(huì)感到很難讀懂。
        強(qiáng)類(lèi)型---保證了每個(gè)對(duì)象有明確定義的值域,并防止了不同概念的邏輯混淆。許多錯(cuò)誤可以被編譯器發(fā)現(xiàn),而對(duì)于其它語(yǔ)言來(lái)說(shuō),則可能導(dǎo)致一個(gè)不正確的程序。
        異常處理---實(shí)際中,一個(gè)程序不可能保證它的正確性;因此,通過(guò)異常機(jī)制及分塊結(jié)構(gòu),將錯(cuò)誤發(fā)生的影響控制在某一特定領(lǐng)域。
        抽象數(shù)據(jù)類(lèi)型---將數(shù)據(jù)描述的細(xì)節(jié)同基于該類(lèi)型數(shù)據(jù)的操作相分離,以提高可移植性和可靠性。
        多任務(wù)---使程序變成一系類(lèi)的并發(fā)活動(dòng),而不是單一的順序活動(dòng);這在很多領(lǐng)域,特別是對(duì)于服務(wù)器程序來(lái)說(shuō)有重要意義,這比調(diào)用操作系統(tǒng)提供的功能更有易可移植性和可靠性。
        類(lèi)屬單元---很多情況下,程序的某邏輯部份與運(yùn)行時(shí)值的類(lèi)型無(wú)關(guān)。因此,需要提供一種機(jī)制,從一個(gè)樣板中產(chǎn)生多個(gè)相應(yīng)的程序段,以提高代碼的可重用性。
        大型編譯---封裝機(jī)制,單獨(dú)編譯及程序包的分層機(jī)制等對(duì)于編寫(xiě)大規(guī)模的程序來(lái)說(shuō)是必不可少的。

        --------------------------------------------------------------------------------

        -- 為什么 Ada 不流行? --

        1) 一些知名人物狠批了 Ada一頓。Tony Hoare 在他的圖靈獎(jiǎng)的演講中將 Ada 狠貶了一頓,從字面上說(shuō)就是:如果我們使用 Ada,人類(lèi)的前途將很危險(xiǎn)。但他的批評(píng)似乎有點(diǎn)過(guò)時(shí)了。他所說(shuō)的多種將使地球上的生物完蛋的事物之一就是使用異常!雖然異常會(huì)被濫用,但這是所有語(yǔ)言特性共有的毛病,并且,現(xiàn)在,每個(gè)人似乎都認(rèn)為異常是一個(gè)很不錯(cuò)的主意。Ada 在 1983 年以前沒(méi)有標(biāo)準(zhǔn)化,而 Hoare 的講話(huà)是在 1980 年。Ada 語(yǔ)言從 1980 的草案到 1983 年的最終版本,變化還是相當(dāng)大。Parnas, Dijkstra 也批評(píng) Ada 語(yǔ)言,特別是它的規(guī)模,Hoare 的言論可能影響了 ACM 的投票人,以致在投票中反對(duì) Ada 語(yǔ)言。

        2) 大部份程序員還無(wú)法接受 Ada 的一些設(shè)計(jì)。如在程序運(yùn)行時(shí)發(fā)現(xiàn)錯(cuò)誤,再用調(diào)試器去尋找和修正錯(cuò)誤是編程的正常方法。他們不知道很多錯(cuò)誤可以由編譯器檢測(cè),并且,他們知道,沒(méi)必要這樣做,因?yàn)樾拚e(cuò)誤相當(dāng)具有挑戰(zhàn)性,可以說(shuō)有點(diǎn)有趣。因此,對(duì)于新特性的不解,也就將 Ada 貶了一頓。

        3) 早期編譯器過(guò)分昂貴,并且編譯器(直至今天)很難實(shí)現(xiàn)。作為語(yǔ)言設(shè)計(jì)者,Jean Ichbiah 對(duì)于語(yǔ)言的具體實(shí)現(xiàn)關(guān)注不夠。(作為對(duì)比,Tucker 是編譯器程序員的語(yǔ)言設(shè)計(jì)者。)對(duì)此的明顯的一個(gè)回應(yīng)就是沒(méi)有便宜的編譯器(在 US$50 - US$100 之間)你能在家里的 PC 上運(yùn)行,所以沒(méi)人可體驗(yàn) Ada 語(yǔ)言。Ada 本就錯(cuò)過(guò)了 PC 革命的大船,并且沒(méi)有可能和 Pascal,C 一樣有群眾基礎(chǔ)(因?yàn)檫@些語(yǔ)言相對(duì)來(lái)說(shuō)實(shí)現(xiàn)較簡(jiǎn)單,因此更加容易的存在) (更少的播放時(shí)間)。市場(chǎng)只選擇實(shí)用性,編譯器的成本比語(yǔ)言本身的質(zhì)量更加重要。這可能不是很明智的選擇,因?yàn)槿肆趧?dòng)來(lái)除錯(cuò)所消耗的成本遠(yuǎn)大于編譯器,但因?yàn)樵跇I(yè)界這沒(méi)有度量標(biāo)準(zhǔn),決策制定者不知道這些。

        4) 整個(gè)業(yè)界都致力于銷(xiāo)售彌補(bǔ) C 語(yǔ)言缺陷的軟件,如尋找內(nèi)存泄漏,類(lèi)型錯(cuò)誤等。像 Les Hatton 他們要維護(hù)自己的既得利益,這樣就要維護(hù)事情的原樣,因?yàn)樗麄兊纳?jì)依賴(lài)于那些使用錯(cuò)誤較多的語(yǔ)言的人。當(dāng)你告訴他們,如果使用 Ada,他們可以扔掉其它工具時(shí),這些人不會(huì)站在你這邊,因?yàn)閷?duì)他們而言吃飯比新技術(shù)更重要。

        5) Ada 83 沒(méi)有類(lèi)型擴(kuò)展和動(dòng)態(tài)聯(lián)編(type extension and dynamic binding),因此錯(cuò)過(guò)了對(duì)象技術(shù)革命的船,而在80年代流行使用面向?qū)ο蟮恼Z(yǔ)言。當(dāng)時(shí),Smalltalk 是很流行的面向?qū)ο笳Z(yǔ)言,并且速度相當(dāng)慢,因?yàn)樗且婚T(mén)解釋性語(yǔ)言。令人傷心的是,很多人至今沒(méi)注意到這點(diǎn),并得出結(jié)論:面向?qū)ο蟪绦蛟O(shè)計(jì)使你的程序效率低下;這就壓制了包含面向?qū)ο筇匦缘酱_定性的實(shí)時(shí)語(yǔ)言中去的想法。(例如:在 SIGAda *今年*(1998) 有人打電話(huà)詢(xún)問(wèn),解釋說(shuō)他是搞時(shí)實(shí)時(shí)系統(tǒng)的,他想明白他是否要擔(dān)心面向?qū)ο蟪绦蛟O(shè)計(jì)!有些謠言實(shí)在頑固。)

        6)政府的管制。國(guó)防部對(duì)于 Ada 的開(kāi)發(fā)介入比較多,其中有些做法令人比較不滿(mǎn)。同時(shí)掛著美國(guó)國(guó)防部名頭的語(yǔ)言,可能給人兩種感覺(jué):1.出于對(duì)政府的不滿(mǎn),將氣也出到 Ada 頭上,認(rèn)為 Ada 只是政府作的東西,不怎么樣;2.國(guó)防部的語(yǔ)言,跟我們這些民用程序程序沒(méi)什么關(guān)系。可以說(shuō),由于對(duì)于 Ada 的誤解,致使目前 Ada 還很不流行。

        溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!

        本類(lèi)教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 精品日韩99亚洲的在线发布| 亚洲精选在线观看| 亚洲国产成人乱码精品女人久久久不卡| 亚洲综合亚洲综合网成人| 亚洲av乱码一区二区三区| 亚洲一区免费视频| 亚洲中文字幕无码一久久区| 亚洲中文字幕在线无码一区二区 | 亚洲男人在线无码视频| 亚洲另类小说图片| 免费萌白酱国产一区二区三区| 国产成人A在线观看视频免费| 亚洲精品无码专区久久久| 美女被免费网站在线视频免费| jjizz全部免费看片| 最新国产成人亚洲精品影院| 无码av免费网站| 国产亚洲精品精品国产亚洲综合| 亚洲精品国产国语| 亚洲一区免费视频| 亚洲av色香蕉一区二区三区| 成人免费激情视频| 亚洲黄色三级网站| 久久久国产精品福利免费| 中文字幕亚洲专区| 今天免费中文字幕视频| 亚洲人成电影在线观看青青| 天天摸天天碰成人免费视频| 亚洲国产av一区二区三区丶| 免费被黄网站在观看| 77777午夜亚洲| 亚洲av麻豆aⅴ无码电影| 色费女人18女人毛片免费视频| 亚洲午夜精品第一区二区8050| 久久大香香蕉国产免费网站| 亚洲AV无码码潮喷在线观看| 国产VA免费精品高清在线| 亚洲午夜福利精品久久| ww在线观视频免费观看| 无码人妻一区二区三区免费视频 | 久久久久亚洲AV成人网|