當前位置:編程學習大全網 - 編程語言 - Ada語言的簡介

Ada語言的簡介

Ada的出現,標誌著軟件工程成功地進入了國家和國際的規模。在壹定意義上說,Ada還刺破了“馮.諾依曼思維模式” (Von Newman Mind-set) 的桎梏,連同Ada的 支持環境(APSE)壹起,形成了新壹派的所謂 Ada文化。它是迄今為止 最復雜,最完備的軟件工具。 Ada語言是 美國國防部指定的 唯壹的壹種可用於 軍用系統開發的語言,我國軍方也將Ada做為軍內開發標準(GJB 1383《程序設計語言Ada》)。

-------------------------------------------------------------------------------- 美國國防部之所以把這種語言取名為Ada,是為了紀念奧古斯特. 艾達.洛夫萊斯伯爵夫人 (Augusta Ada Lovlace 1815-1852),她是英格蘭詩人拜倫(Byron)勛爵的女兒,曾對現代計算機技術之父查爾斯.巴貝奇(Charles Babage)的筆記,手稿進行了整理和修正。從某種意義上說,她是世界上第壹位計算機程序員。

-------------------------------------------------------------------------------- 在明白這個問題之前,需要了解 Ada 的壹系列特性。Ada 最初設計就是壹門大型語言,因此在很多編程的重要問題上都有所考慮,以下文字摘自《 Ada Reference Manual》:

Ada最初設計時關註於 3 個最重要的問題:程序的穩定性和可維護性,程序設計和人的行為接近,並且高效。這份語言的修訂版是為了提供更大的靈活性和擴展性,存儲管理的額外控制和同步,以及標準化的程序包以支持重要的應用程序領域,同時保留原來的重點:穩定性,可維護性,和高效。對於程序設計語言促進可靠性和簡化維護難度的需求已被確立。因此程序可讀性的重要性高於輕松地寫代碼。例如,語言規則要求程序變量應當明確聲明並指定它們的類型。由於變量的數據類型是不變的,編譯器可以確保對於變量的操作適用於該類型的對象。另外,有錯誤傾向的符號已經避免,並且語言語法避免了編碼形式的使用,使更傾向於英語的結構。最後,Ada 語言提供了程序單元單獨編譯的功能,使程序開發和維護簡便,同樣也提供了在壹個單元內多個單元之間的檢測。考慮人類程序員的問題也在設計時被強調。總而言之,在繼續避免過多復雜句型的缺陷的同時,嘗試以壹致系統的方式保持相對較少的底層概念。

------------------------------------------------------------------------------ Ada語言最早是針對嵌入式和實時系統設計的,並且在今天依然在這方面使用廣泛。Ada95版,是由INTERMETR ICS公司的塔克。塔夫特於92到95年間設計的,當時主要是希望改進對於系統,數字,財務軟件編程的支持。

Ada語言的重要特征就是其嵌入式風格,模塊化設計,編譯檢查,平行處理,異常處理及泛型編程。Ada在95年加入了對面向對象設計的支持,包括動態分配等。

Ada的編譯檢查主要是針對沒有分配的內存讀寫的保護,堆棧溢出錯誤,單個錯誤空閑,隊列讀寫錯誤以及其他可以避免的小問題。這些檢查可以在為增加效率的情況下被取消,但是在編譯的時候他們卻能帶來很高的效率。同樣它也包括對程序的嚴正的設置。因為這些原因,它被廣泛應用於壹些非常重要的系統中,例如航空電子學,武器及航天飛行器的操作系統中。同樣它支持很多的編譯時間檢查,這些檢查被用來避免壹些錯誤的發生。這種錯誤往往是在其他語言中在運行以前都不能被察覺到的,需要在源碼中加入特殊的檢查設置才能被發現。

Ada的動態內存管理非常安全和高規格,它類似於JAVA語言卻不同於C語言的。這種特殊功能並不需要特殊的運行設置。盡管這種語言的語意結構允許對於不能讀寫的目標進行自動的碎片搜集,但是大多數運行都不支持它。A da卻支持有限形式基於區域的存儲管理。無效的讀寫常在運行時候被檢查出來(除非這種檢測被人為關閉)並且有時候在編譯時候就被發現。

Ada語言的定義同國際標準化組織(ISO)的標準有很大不同,因為他是壹個自由內容形式的。這種做法的後果是被廣大程序員只能從它的標準化文檔(普遍認為是Ada的參考使用手冊(ARM))尋找細節性的技術問題,但是普遍情況是壹本標準教科書卻可以在其他不同語言上使用。 Ada語言由嚴格的巴斯特範式定義,但是不適合壹般人閱讀.它是第壹種同時擁有IEC/ISO/美國軍用標準認證的語言. 其編譯器經過嚴格的審查,以確保同樣的代碼在任壹編譯器上產生同樣的可執行效果.並且保證並行性在代碼級可以在無操作系統下同樣運行.

Ada語言最初設計是為了構建長周期的、高度可靠的軟件系統。它提供了壹系列功能來定義相關的數據類型(type) 、對象(object)和操作(operation)的程序包(package)。程序包可以被參數化,數據類型可以被擴展以支持可重用庫的構建。操作既可以使用方便的順序控制結構,通過子程序(subprogram)來實現,也可以通過包含並發線程同步控制的入口(entry)來實現。

Ada也支持單獨編譯(separate compilation),在物理層上支持模塊性。 Ada包含了很復雜的功能以支持實時(real-time),並發程序設計(concurrent programming)。錯誤可以作為異常(exception)來標示,並可以被明確地處理。

Ada也覆蓋了系統編程(system programming);這需要對數據表示和系統特性訪問的精確控制。最後,提供了預定義的標準程序包,包括輸入輸出、字符串處理、數值計算的基本函數和隨機數生成來。

  • 上一篇:什麽是SOA架構?
  • 下一篇:有誰能給我壹個MASTER CAM8的西門子802D加工中心的後處理程序?
  • copyright 2024編程學習大全網