Ada是谁?她是英国著名诗人拜伦的女儿,但令她名扬世界的不是她的父亲,而是她对计算机事业做出的巨大贡献。她是一位数学家、计算机程序创始人,更是我们程序员心中独一无二的女神。为了纪念她,美国国防部据说花了10年的时间,把所需软件的全部功能混合在一种计算机语言中,希望它能成为军方数千种电脑的标准。1981年,这种语言被正式命名为Ada(阿达)语言,以纪念这位“世界上第一位软件工程师”。

Ada的生平

Ada于17岁遇见了查尔斯,发明了分析机(计算机雏形)的科学家,从此二人成为莫逆之交。后来,Ada设计了巴贝奇分析机上解伯努利方程的一个程序,建立了循环和子程序的概念,于1843年写出了第一个算法,遗憾的是,当时计算机还没有出现,无法运行她的创举,后来的企业架构师们重新吸收她的技能,用来学习如何更好使用UML进行编程。除此之外,Ada在计算机发展上表现出了卓越的前瞻性,在她1843年发表的论文中说到:“未来的机器可以用来创作复杂音乐、制图,和在科学研究中运用。”她还建议用二进制数代替原来的十进制数,表明分析机可以接受各种各样的穿孔卡,支出分析机应该有存储位置或地址,并且有“注解或备忘”的可能性。

Ada语言的重要地位

Ada的出现,标志着软件工程成功地进入了国家和国际的规模。在一定意义上说,Ada还刺破了“冯.诺依曼思维模式” (Von Newman Mind-set) 的桎梏,连同Ada的 支持环境(APSE)一起,形成了新一派的所谓 Ada文化。它是迄今为止 最复杂,最完备的软件工具。 Ada语言是 美国国防部指定的 唯一的一种可用于 军用系统开发的语言,我国军方也将Ada做为军内开发标准(GJB 1383《程序设计语言Ada》)。

Ada语言的特点

易读性

专业人员往往要读很多程序,因此要避免像 APL 那种以过于简单的符号编程的语言,虽然它们的编程速度快,但基本上是不可读的。因此目前有种说法是:读一个程序比写类似的程序还要费时,这也是有一定道理的;特别是 C/C++ 的风格比较松散,很多语法都在滥用,使程序可读性相当低,由于 Ada 的语法接近人的语言,即使是初学者,也不会感到很难读懂。
###强类型
保证了每个对象有明确定义的值域,并防止了不同概念的逻辑混淆。许多错误可以被编译器发现,而对于其它语言来说,则可能导致一个不正确的程序。

异常处理

实际中,一个程序不可能保证它的正确性;因此,通过异常机制及分块结构,将错误发生的影响控制在某一特定领域。
###抽象数据类型
将数据描述的细节同基于该类型数据的操作相分离,以提高可移植性和可靠性。
多任务—使程序变成一系类的并发活动,而不是单一的顺序活动;这在很多领域,特别是对于服务器程序来说有重要意义,这比调用操作系统提供的功能更有易可移植性和可靠性。
###类属单元
很多情况下,程序的某逻辑部份与运行时值的类型无关。因此,需要提供一种机制,从一个样板中产生多个相应的程序段,以提高代码的可重用性。

现在的Ada语言在计算机语言使用广泛度上排名第16位,而且有逐步上升的趋势。虽然一个普遍的关于欧洲航天局阿利亚纳五号火箭失败的说法是因为 Ada 语言在编译过程的检查失败,但这仅仅是操作人员的失误,Ada语言的强大功能仍旧令人瞩目。

Ada的另一个身份--计算机语言相关推荐

  1. 为什么白素贞能生文曲星转世许仕林? 和她的另一个身份有关

    为什么白素贞能生文曲星转世许仕林? 和她的另一个身份有关 众所周知,<白蛇传>的故事因其改编的<新白娘子传奇>电影而成为妇孺皆知的经典. 众所周知,白素贞被高僧法海压在雷峰塔下 ...

  2. 为什么不用汉语来开发一个高级计算机语言直接对应01?

    为什么不用汉语来开发一个高级计算机语言直接对应01? 很遗憾,然而计算机里面并不存在0/1.它就是一堆场效应管控制若电路的通断状态,如此而已. 这里并没有对您手里的奇思妙想有任何不敬之意.然而我们这东 ...

  3. nginx 使用 ngx_http_auth_basic_module 模块,给网站增加一个身份认证代理

    以 phpMyAdmin 网站为例 将 phpMyAdmin 隐藏在认证代理后面,这样用户在向 phpMyAdmin 提供 MySQL 凭证之前就需要进行认证官方文档. 官方文档 Module ngx ...

  4. 在数字时代,如何成为一个真正有身份的人?

    导  读 请不要误会,这不是一篇"标题党"文章,而是一篇纯干货文章,取这个标题是有深层次的技术原因的. 本标题的句式是一个疑问句,仔细看,其实包含2个问题: 1. 在数字时代如何成 ...

  5. Ada 程序设计语言(The Ada Programming Language)[第一集]

    Ada 程序设计语言(The Ada Programming Language)[第一集]- - 版权(Copyright) <Ada 程序设计语言>的版权隶属于网站 VenusIC,允许 ...

  6. gpg加密命令 linux_用 PGP 保护代码完整性(五):将子密钥移到一个硬件设备中 | Linux 中国...

    在这个系列教程中,将为你提供使用 PGP 和保护你的私钥的最佳体验.-- Konstantin Ryabitsev致谢译自 | linux.com 作者 | Konstantin Ryabitsev译 ...

  7. 微软为华为定制了一个“烂笔头小冰”,让人想起了老罗的“闪念胶囊”

    微软全球执行副总裁--沈向洋 在刚刚过去的第六代小冰发布会上,微软和华为走到了一起. 小冰产品总监徐翔宣布,微软小冰将于今日上线华为手机,所有升级至智能助手 8.2 版本及以上的华为手机(包括华为和荣 ...

  8. MT to Death,专访 ACL Fellow刘群,一个NLPer的极致表白

    导读:2022年1月6日,国际计算语言学学会ACL正式公布了2021年ACL Fellow名单,机器翻译专家.华为诺亚方舟实验室语音语义首席科学家刘群当选为全球八位新晋ACL Fellow之一. 我们 ...

  9. yii2 后台权限验证获取用户身份_前、后端分离权限控制设计与实现

    作者:佚名 来源:Web开发 简述 近几年随着react.angular.vue等前端框架兴起,前后端分离的架构迅速流行.但同时权限控制也带来了问题. 网上很多前.后端分离权限仅仅都仅仅在描述前端权限 ...

最新文章

  1. DOM对象和内置对象(中)
  2. beyond compare比较工具设置
  3. [网络安全自学篇] 五十五.Windows系统安全之构建ROP链绕过DEP及原理详解
  4. 两个独立的窗口和自定义信号
  5. Loader之二:CursorLoader基本实例
  6. mysql使用主从复制迁移,[MySQL进阶之路][No.0003] 主从复制(Replication)在运维中的运用...
  7. 阅读《Google成功七堂课》
  8. opencv 在debian6.0下安装
  9. 大二《数据结构》机考解题报告
  10. windows8 系统语言由中文修改为英文系统
  11. button点击后出现的边框_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...
  12. linux 单网卡 双ip,Linux操作系统单网卡双IP的设置
  13. bat脚本命令的学习
  14. 安卓html调色器,5个超棒的在线配色神器
  15. 电脑解压文件丢失怎么找回来?四种恢复方法
  16. 数据分析-C端与B端数据分析的异同
  17. LVGL | LVGL移植之中文文档
  18. C++ 有关string类的基本语法以及一个简单算法 理论加案例的形式
  19. jack 服务常见错误解决方法
  20. 【漏洞发现-sql注入】有回显注入--sqli-labs

热门文章

  1. 什么是鱼骨图分析法,详细解析
  2. 3ds Max2016 使用教程(二)样条线Splines
  3. 4-5:关注,取消关注
  4. 张乐:研发效能的升维思考与降维执行|发布会精彩回顾
  5. TML 文档不包含 Web 服务发现信息。
  6. 【20160612-20160618】记一周省常中训练(持续更新,欢迎催更)
  7. 玩机搞机----修改手机各项参数工具解析 过验证 变新机
  8. python技术培训机构排名
  9. Nhiberate了解
  10. 5.3 三指针尺取法——【锻造兵器】