Ada 编程语言

article/2025/9/24 11:35:28


以下内容摘自wiki,http://zh.wikipedia.org/wiki/Ada


Ada,是一种程序设计语言。源于美国军方的一个计划,旨在整合美军系统中运行着上百种不同的程序设计语言编写的程序,命名是为了纪念爱达·勒芙蕾丝而使用Ada。

目录

[隐藏]
  • 1 重要特征
  • 2 历史
  • 3 Ada语言的"世界,你好!" 示例程序
  • 4 关于阿利亚纳五号的失败
  • 5 参见
  • 6 参考书目
    • 6.1 国际标准
    • 6.2 书目
  • 7 Ada的百科
    • 7.1 总体信息
    • 7.2 辅助工具书
    • 7.3 工程
  • 8 注释
  • 9 外部连接

[编辑] 重要特征

Ada语言最早是针对嵌入式和实时系统设计的,并且在今天依然在这方面使用广泛。Ada95版,是由INTERMETRICS公司的塔克。塔夫特于92到95年间设计的,当时主要是希望改进对于 系统,数字,财务软件编程的支持。

Ada语言的重要特征就是其键入式风格,模块化设计,编译检查,平行处理,异常处理及泛型编程。Ada在95年加入了对面向对象设计的支持,包括动态分配等。

Ada的编译检查主要是针对没有分配的内存读写的保护,堆栈溢出错误,单个错误空闲,队列读写错误以及其他可以避免的小问题。这些检查可以在为增加 效率的情况下被取消,但是在编译的时候他们却能带来很高的效率。同样它也包括对程序的严正的设置。因为这些原因,它被广泛应用于一些非常重要的系统中,例 如航空电子学,武器及航天飞行器的操作系统中。

同样它支持很多的编译时间检查,这些检查被用来避免一些错误的发生。这种错误往往是在其他语言中在运行以前都不能被察觉到的,需要在源码中加入特殊的检查设置才能被发现。

Ada的动态内存管理非常安全和高规格,它类似于JAVA语言却不同于C语言的。 这种特殊功能并不需要特殊的运行设置。尽管这种语言的语意结构允许对于不能读写的目标进行自动的碎片搜集,但是大多数运行都不支持它。Ada却支持有限形 式基于区域的存储管理。无效的读写常在运行时候被检查出来(除非这种检测被人为关闭)并且有时候在编译时候就被发现。

Ada语言的定义同国际标准化组织(ISO)的标准有很大不同,因为他是一个自由内容形式的。这种做法的后果是被广大程序员只能从它的标准化文档 (普遍认为是Ada的参考使用手册(ARM))寻找细节性的技术问题,但是普遍情况是一本标准教科书却可以在其他不同语言上使用。

[编辑] 历史

在70年代,美国国防部 因为它所属项目的编程语言数量而倍受关注。这些语言中的很多都是完全独立于硬件的,并且其中没有一个是支持安全模块编程的。1975年 高次阶语言工作组 (HOLWG) 终于成立了。它的主要目标就是寻找或者创造一些适合国防部需要的语言来减少这种现存的编程语言数量。它带来的结果就是Ada语言。因此,这些编程语言数量从1983 的450下降到了1996的37种。

维基文库中相关的原始文献:
en:Steelman language requirements
http://zh.wikisource.org/wiki/ en:Steelman language requirements

工作组开发出了语言要求文档—文档。许多现存的语言都被仔细地检查,但是1977年 这个团队却声称没有任何现存语言符合他们的条件。

[编辑] Ada语言的"世界,你好!" 示例程序

一个Ada语言编写的"你好世界"Hello world program程序:

with Ada.Text_IO; 

procedure Hello is
begin
Ada.Text_IO.Put_Line("Hello, world!");
end Hello;

Ada.Text_IO.Put_Line处有一些快捷图标,不需要很多的文字输入,但是对于这里的理解来讲并没有多大意义。细节性的问题请参考Ada Programming/Basic。

[编辑] 关于阿利亚纳五号的失败

一个普遍的关于欧洲航天局阿利亚纳五号火 箭失败的说法是因为 Ada 语言在编译过程的检查失败导致的。 将大的浮点数转换成整数是一种常见的程序错误来源。1996年6月4日,对于Ariane 5火箭的初次航行来说,这样一个错误产生了灾难性的后果。发射后仅仅37秒,火箭偏离它的飞行路径,解体并爆炸了。火箭上载有价值5亿美元的通信卫星。6 亿美元付之一炬。后来的调查显示,控制惯性导航系统的计算机向控制引擎喷嘴的计算机发送了一个无效数据。失事调查报告指出,火箭爆炸是因为:

During execution of a data conversion from 64-bit floating point to 16-bit signed integer value, the floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer. This resulted in an Operand Error.

它没有发送飞行控制信息,而是送出了一个诊断位模式,表明在将一个64位浮点数转换成16位有符号整数时,产生了溢出。 溢出值测量的是火箭的水平速率,这比早先的Ariane 4火箭所能达到的高出了5倍。在设计阿利亚纳4火箭的软件时,他们小心地分析了数字值,并且确定水平速率绝不会超出一个16位的数。不幸的是,他们在阿利 亚纳5火箭的系统中简单地重新使用了这一部分,而没有检查它所基于的假设。Ada代码如下:

begin
sensor_get(vertical_veloc_sensor);
sensor_get(horizontal_veloc_sensor);
vertical_veloc_bias := integer(vertical_veloc_sensor);
horizontal_veloc_bias := integer(horizontal_veloc_sensor);
...
exception
when numeric_error => calculate_vertical_veloc();
when others => use_irs1();
end;

参考:阿利亚纳五号

[编辑] 参见

[编辑] 参考书目

[编辑] 国际标准

  • ISO/IEC 8652:Information technology — Programming languages — Ada
  • ISO/IEC 15291:Information technology — Programming languages — Ada Semantic Interface Specification(ASIS)
  • ISO/IEC 18009:Information technology — Programming languages — Ada: Conformity assessment of a language processor(ACATS)
  • IEEE Standard 1003.5b-1996,the POSIX Ada binding
  • Ada Language Mapping Specification,the CORBA IDL to Ada mapping

[编辑] 书目

您可以在 维基教科书中查找此百科条目的相关电子教程:
Ada Programming
  • Jan Skansholm:Ada 95 From the Beginning, Addison-Wesley, ISBN 0-201-40376-5
  • John Barnes:Programming in Ada plus Language Reference Manual, Addison-Wesley, ISBN 0-201-56539-0
  • John Barnes:Programming in Ada 95, Addison-Wesley, ISBN 0-201-34293-6
  • John Barnes:High Integrity Ada: The SPARK Approach, Addison-Wesley, ISBN 0201175177
  • John Barnes:High Integrity Software: The SPARK Approach to Safety and Security, Addison-Wesley, ISBN 0-321-13616-0
  • Dean W. Gonzalez:Ada Programmer's Handbook, Benjamin-Cummings Publishing Company, ISBN 0805325298
  • M. Ben-Ari:Ada for Software Engineers, John Wiley & Sons, ISBN 0-471-97912-0
  • Norman Cohen:Ada as a Second Language, McGraw-Hill Science/Engineering/Math, ISBN 0-0-7011607-5
  • Alan Burns,Andy Wellings:Real-Time Systems and Programming Languages. Ada 95, Real-Time Java and Real-Time POSIX., Addison-Wesley, ISBN 0-201-72988-1
  • Alan Burns,Andy Wellings:Concurrency in Ada, Cambridge University Press, ISBN 0-521-62911-X
  • Colin Atkinson:Object-Oriented Reuse, Concurrency and Distribution: An Ada-Based Approach, Addison-Wesley, ISBN 0201565277
  • Grady Booch,Doug Bryan:Software Engineering with Ada, Addison-Wesley, ISBN 0805306080
  • Daniel Stubbs,Neil W. Webre:Data Structures with Abstract Data Types and Ada, Brooks Cole, ISBN 0-534-14448-9
  • Pascal Ledru:Distributed Programming in Ada with Protected Objects, Dissertation.com, ISBN 1-58112-034-6
  • Fintan Culwin:Ada, a Developmental Approach, Prentice Hall, ISBN 0132646803
  • John English,Fintan Culwin:Ada 95 the Craft of Object Oriented Programming, Prentice Hall, ISBN 0-1-3230350-7
  • David A. Wheeler:Ada 95, Springer-Verlag, ISBN 0-387-94801-5
  • David R. Musser,Alexander Stepanov:The Ada Generic Library: Linear List Processing Packages, Springer-Verlag, ISBN 0387971335
  • Michael B. Feldman:Software Construction and Data Structures with Ada 95, Addison-Wesley, ISBN 0201887959
  • Simon Johnston:Ada95 for C and C++ Programmers, Addison-Wesley, ISBN 0201403633
  • Michael B. Feldman,Elliot B. Koffman:Ada 95, Addison-Wesley, ISBN 0-201-36123-X
  • Nell Dale,Chip Weems,John McCormick:Programming and Problem Solving with Ada 95, Jones & Bartlett Publishers, ISBN 0763702935
  • Nell Dale,Susan Lilly,John McCormick:Ada Plus Data Structures: An Object-Based Approach, Jones & Bartlett Publishers, ISBN 0669416762
  • Bruce C. Krell:Developing With Ada: Life-Cycle Methods, Bantam Dell Pub Group, ISBN 0553091026
  • Judy Bishop:Distributed Ada: Developments and Experiences, Cambridge University Press, ISBN 0-521-39251-9
  • Bo Sanden:Software Systems Construction With Examples in Ada, Prentice Hall, ISBN 013030834X
  • Bruce Hillam:Introduction to Abstract Data Types Using Ada, Prentice Hall, ISBN 0130459496
  • David Rudd:Introduction to Software Design and Development With Ada, Brooks Cole, ISBN 0314028293
  • Ian C. Pyle:Developing Safety Systems: A Guide Using Ada, Prentice Hall, ISBN 0132042983
  • Louis Baker:Artificial Intelligence With Ada, McGraw-Hill, ISBN 0070033501
  • Alan Burns,Andy Wellings:HRT-HOOD: A Structured Design Method for Hard Real-Time Ada Systems, North-Holland, ISBN 0444821643
  • Walter Savitch, Charles Peterson:Ada: An Introduction to the Art and Science of Programming, Benjamin-Cummings Publishing Company, ISBN 0805370706
  • Mark Allen Weiss:Data Structures and Algorithm Analysis in Ada, Benjamin-Cummings Publishing Company, ISBN 0805390553

[编辑] Ada的百科

[编辑] 总体信息

  • Ada@Krischik

[编辑] 辅助工具书

  • Ada Programming
  • Programación en Ada
  • Programmation Ada

[编辑] 工程

  • AdaCL
  • wikibook-ada
  • ASIS
  • GLADE
  • Florist

[编辑] 注释


[编辑] 外部连接

  • Ada World
  • AdaPower
  • ACM SIGAda
  • Ada-Europe Organization
  • Ada Information Clearinghouse
  • ISO Home of Ada Standards
  • Ada 95 Books Available Online
  • Ada Rapporteur Group (evolution of standard)
  • Ada Answers - Building better software with Ada
  • Ada Academic Initiative
  • "Libre" Ada Software
  • GNU Ada Homepage
  • GNAVI Ada Visual RAD
  • Citations from CiteSeer
  • GNAT
  • AdaGIDE, the Ada GNAT Integrated Development Environment for Windows
  • Forum
  • Ada Tutorial
  • Projects Using Ada
  • A#: Ada on .NET
  • Conference announcements for the international Ada community


补充说明:Ada语言很适合嵌入式应用,高安全性,应该值得关注!
请参照这个站点:www.Ada-tech.com,这个套件包括Ada语言的编译器及相应的开发文档和各种工具。
中文Ada语言资源网:http://go8.163.com/wkh/
一个教程的中文站:http://all.163.com/it/school/apl/

http://chatgpt.dhexx.cn/article/IeLGm6bQ.shtml

相关文章

Xshell6、xftp资源,舒服!!(自行下载)

还饱受xhell产品各种到期侵害的同志们,可以下载使用这版,本人已经用了将近两年半,不存在到期的问题。当然,如果你的机子之前就用了Xshell6且已经过期了。那就不用试了,基本也是没戏o_O,换别的版本的可用版吧…

xftp的免费下载和安装教程

下载 下载地址https://www.netsarang.com/en/all-downloads/ 2. 安装 按默认配置选项 下一步,下一步即可,文件路径根据自己需要修改

Xftp的下载和安装教程

在Windows系统下,如果想和Linux系统进行文件传输,可以使用Xftp 工具,本篇将介绍Xftp 6下载与安装的过程 软件下载地址:http://www.netsarang.com/download/software.html 点击免费授权页面 随便输入名字 但是邮箱地址一定要正确。可以根据需…

Xftp6下载

前面介绍了Xshell的下载,Xshell是一款能够直接操作linux的终端命令的软件,但是无法进行不同系统间文件的传输,而Xftp是一个功能强大的SFTP、FTP 文件传输软件,它能够快速的进行不同系统之间文件的传输。 懒的看下面的可以直接去我…

xftp7评估版安装使用

xftp7评估版安装使用 1、安装xftp72、配置xftp73、安装包xftp74、其他文件传输软件 之前文章介绍过 xshell7 评估版的安装过程,详见 xshell7评估版安装使用。 本文将介绍 xftp7 文件传输软件的安装使用过程(常与xshell7 配套使用)。 1、安装x…

Xshell|Xftp正版免费使用,再也不用辛辛苦苦破解了

Xshell正版免费,再也不用找破解版了! 话不多说,先贴链接(直接点击)各位按需下载就可以了,亲测有效,感觉有用点个赞呗! 当然也可以直接点击下方名字直接下载压缩包哦 【特别声明】此为教育版正版免费&#x…

xftp下载安装及简单使用

一、xftp简介 Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他…

2021年了!!Xftp新手的下载和安装教程(超详细),以及演示了远程登录和远程文件传输

超级快的,一会就下好了 官网链接:https://www.netsarang.com/zh/xshell/ 1、点下载 出现这个,点进去 填写下面的信息,下载的链接就会发到邮箱里, 点这个邮箱里的链接就会帮你下载了 一、Xftp的安装以及远程登录进行远…

Xshell/Xftp个人完全免费版

很多人在找 Xshell 或 Xftp 的破解版,完全没必要 因为官方已经针对个人用户,提供了完全免费版本 官方免费版下载步骤如下: 1、进入官网活动页面:Xshell Xftp官网 2.填写邮箱、姓名(随便填),需要…

xftp的简单使用

xftp的简单使用 1.下载并安装Xftp工具。打开Xftp工具,点击“新建”。 2.在“新建会话属性”中选择“名称”为主机命名,在“主机”栏输入主机IP,“协议”和“端口号”使用sftp和22【注意默认协议是ftp,此处要改为sftp】&#x…

Xshell/Xftp个人完全免费版(功能与收费版完全相同)

如果你还在找 Xshell 或 Xftp 的破解版,完全没必要,因为官方已经针对个人用户,提供了完全免费版本,功能和商业收费版 完全一样! 官方免费版下载步骤如下: 此版本和收费版唯一的不同就是一个窗口最多只能同时…

Xftp的下载和安装(超详细)

Xftp的下载和安装(超详细)

Xftp的介绍及下载安装教程

版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明出处:https://blog.csdn.net/weixin_44222492/article/details/98309601 。 1. Xftp介绍 能和电脑传输的软件(文件传输工具):Xftp &#x…

xftp下载及安装教程

xftp学生版下载地址: https://www.xshell.com/zh/free-for-home-school/ 输入信息,点击下载按钮 下载速度较慢,耐心等待 下载完成后,点击文件,开始安装 点击下一步 选择接受协议,点击下一步 选择安装路径…

xftp7下载教程

以前使用的xftp7突然不能使用了,提示“要继续使用此程序,您必须应用最新的更新”,但是有无法更新,找了网上很多解决方法,有说修改注册表的,也有使用bat文件的,但是下面这种方法亲测最靠谱。 进…

Xftp的下载、安装、使用

Xftp的下载 Xftp其实就是传文件用,不想下载xftp的也可以用命令 rz命令(上传文件到Linux) rz 直接输入 rz 之后回车就会打开你本地文件夹,选择文件就可以上传文件到Linux sz命令(下载文件到windows) sz Tes…

Xshell和xftp免费下载与使用

目录 前言 一、Xshell和xftp免费下载 二、Xshell和xftp安装步骤 三、Xshell和xftp的使用 前言 在使用虚拟机的Linux系统时,在主机复制的代码和指令有的难以粘贴到虚拟机,主机和虚拟机之间的文件传输也比较麻烦,这时我们可以使用Xshell通过…

Xftp使用方法

首先点击新建,在弹出的框内填入相应的内容 名称:随便写个什么,只要自己以后看到了知道是干嘛的就行; 主机:填写Linux的IP地址(IP地址的查询方法为在Linux中输入ifconfig); 协议&am…

Xshell Xftp 免费版申请 官方正版 | 无需破解

换电脑。顺便从Xshell 5换成7了,一看要付费,然后就看到铺天盖地的破解方法。……所以我们普通学生申请一个家庭和学校的免费版本不香吗?◔ ‸◔? 打开Xshell官网下载地址:https://www.netsarang.com/zh/xshell-downloa…

Xftp 7(FTP/SFTP客户端) V7.0.0107 官方中文免费正式版(附文件+安装教程)

文章目录 下载地址简介安装教程评估板使用说明Xftp7特性:功能介绍 下载地址 链接:https://pan.baidu.com/s/17mtxhTTOviFux4tbVGzKvA?pwdnvsu 提取码:nvsu –来自百度网盘超级会员V6的分享 简介 Xftp 7是一种灵活且轻量级的SFFT/FTP客户端…