转载一篇关于ADA的文章

因为看ocarina的源码,所以转载了一篇ADA文章,也是第一篇博客,刚开始还不怎么会用,但是以后慢慢学吧。
【转载部分】为什么要写关于这么古老的语言(1980年左右)的文章呢?因为我想既然mainframe用的cobol这么恶劣的语言都写了那么多了,为何不写一点我比较喜欢的语言呢?虽然除了高安全级控制和仿真领域之外ADA是不怎么用的。

首先说两句我个人对ADA语言的态度:

从编写大型程序的OO语言而言(我基本主要用的也就是这类语言),ADA在我评价中的排名是和C#和C++一个级别上的。ADA很大程度上是Java的前驱,而且在演进过程中相互影响。但不知什么原因,我个人向来不太喜欢Java。其他Smalltalk,Eiffel,Ruby,Python之类没接触过(没时间,关于Python德德是行家),而这些面向对象语言和C++和ADA之类相比还是有很大区别的。

ADA是受Pascal直接影响产生的(其他还有ALGOL之类)。Pascal被称为教学语言,以严谨著称。而在我看来Pascal有很多方面是不错,但有些地方“严谨”得有点傻掉了,隐约记得它里面有一套类型相容性规则,简直有点胡闹了(所幸应该被Delphi给剔除掉了)。再说了,通常编程语言总是想要严谨的,比如我就不认为有任何理由认为C不严谨;某种意义上讲,凡是能让计算机正确解释的东西都能说严谨的(当然像BASIC这样的语言设计随意了些,C++铺展得太开让人感觉过于狂躁,而动态类型语言可能是可以说成不太严谨)。所以Pascal只应当说是教学和学习思维上的严谨,语法上比较清晰,类型检查和控制比较严格(由此也引致冗长性,因为比如C/C++一个符号能做的事它要用一个完整语句来做)。但因为ADA完全秉承并极大发扬了这点,我在ADA看到了从上到下的高度一致性和严谨性加上其潜在的强大性,这点却是Pascal望尘莫及的。Pascal的另一些面向对象扩展有如Objective Pascal和Delphi,Delphi是不错,相比ADA具有易用性(因为是Java和C#这条路子的),但是深入研究却反衬出ADA的严谨和强大。当然这强大不是我说了算的,我也说不清楚。反正只要知道这个语言有这么几个令人敬畏的特性:

  • 美国军方设计用来替代各种过往语言,用于统一开发高安全稳定性程序用的语言,多数用于军事(武器装备和系统)和航天的控制和设计、关键单位(火车、航空、电站等)的系统管理和控制等。有人这样描述,ADA是一种一旦编译通过后能很放心使用的语言,可能不尽恰当,但说明一些问题。

  • 设计用来开发极大规模的系统。这说明强大性(至少有可维护性和可扩展性吧)。

  • 广泛用于嵌入式系统开发,而它的一个衍生品VHDL是硬件开发语言。所以往往这个语言的性能是不太令人担心的(当然我还是不很理解如何程度依赖于编译器和运行环境)。

  • 具有内在的并发支持(这个也很玄,我不知道一个语言的这些内在特性如何程度上依赖于系统并实现,可能还是有很大的负荷)。

  • 还在不断发展,83,95版,最近的是2005年标准。

最后用一个Hello World作为本篇结尾,引自wikipedia。

with Ada.Text_IO; – 表示使用这个package的内容
use Ada.Text_IO; – 表示展开这个package的命名空间
procedure Hello is – 定义过程,注意这个is就显得很严谨
begin
Put_Line(“Hello, world!”); – 打印
end Hello; – end后必须跟名称
和一些资源:

  1. Windows下的开源开发环境:ADA Gide http://adagide.martincarlisle.com/ 其实这个不太好。

  2. 最权威的开发环境是ADACORE的GNAT:http://libre.adacore.com/libre/ 这个的免费版就已经很不错,至少可以用用(下载链接:http://libre.adacore.com/libre/download/),虽然已经遇到一些问题和bug。(Linux环境往往会附带ADA编译器)

  3. ADA 95标准和参考: http://www.adahome.com/rm95/

  4. ADA 2005标准和参考:http://www.adaic.org/ada-resources/standards/ada05/

  5. ADA的wiki books:http://en.wikibooks.org/wiki/Ada_Programming

  6. 谁在用ADA:http://www.seas.gwu.edu/~mfeldman/ada-project-summary.html

  7. ADA也有不少问题,一些ADA的比较研究:http://archive.adaic.com/intro/c.html

  8. Most recommendable book for learning ADA 2005: Rationale for ADA 2005, PDF download
    ————————————————
    版权声明:本文为CSDN博主「quanben」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/quanben/article/details/6961047

转载一篇关于ADA的文章相关推荐

  1. 转载一篇关于curl的文章

    转载一篇关于curl的文章 http://www.360doc.com/content/16/0107/15/18578054_526158476.shtml

  2. 转载一篇加盟骗局的文章

    在当今的中国,各形各色的骗局可以说是五花八门,数不胜数!抛开一些小的街头骗局,大型的骗术就有传销骗局,短信中奖骗局,信用卡中奖骗局,连锁加盟骗局等等!   如果我要是问你这些骗局中哪种最可怕,最暴力, ...

  3. 转载一篇关于绿的文章 ---花季护航”是一个笑话

    怀着忐忑不安的心情,下午我在XP里测试了7月将在所有品牌PC预装的"-花季护航"软件.我后悔我不用虚拟机来测试. 幸好我现在主要使用的是windows 7,不然我可能会重装一次XP ...

  4. (转载)一篇很有意思的文章,关于C语言学习的。

    因为我也看过Schildt的作品,无意中在网上看到这篇文章,就转来了. 本文转载自 刹那永恒 的博客:http://blogold.chinaunix.net/u/12391/showart_1043 ...

  5. 转载一篇介绍 WordPress 的文章

    Wordpress简明使用指南 从今年9月到现在,我用Wordpress也有大约3个月了.现将自己使用中的一些体会分简介.安装.一般使用.主题.插件.代码修改等几个部分逐一概述如下. 1. 简介 Wo ...

  6. VSS服务器安装配置(比较完整的一篇VSS服务器配置的文章)

    配置 vss 服务器 安装 公司的产品要发布了,在做集成测试,要用到VSS,转载一篇关于VSS的文章与大家共享 VSS 的全称为 Visual Source Safe .作为 Microsoft Vi ...

  7. 转载几篇别人写的皮肤类控件的技术文章

    转载几篇别人写的皮肤类控件的技术文章 原连接:http://blog.sina.com.cn/s/blog_4c3538470100ezhu.html 实现控件的透明背景 很多情况下,我们需要控件 的 ...

  8. 这是一篇测试博文的文章

    这是一篇测试博文的文章 转载于:https://www.cnblogs.com/hoojo/articles/1886681.html

  9. 一篇不错的wsl文章

    2019独角兽企业重金招聘Python工程师标准>>> http://www.xitonghe.com/jiaocheng/Windows10-9302.html 一篇不错的wsl文 ...

最新文章

  1. CodeForces - 1341D Nastya and Scoreboard(dp+贪心)
  2. URLRewiter使用
  3. 给大家讲一个被社区团购小程序套路的经历吧
  4. IT职场人生系列之三:第一份工作
  5. 创建Tapestry5 工作环境
  6. Blender3.0资产浏览器
  7. C语言模拟实现虚拟存储管理(请求分页存储管理)
  8. vue + elementui table 列内容相同 自动合并单元格 完整代码
  9. 深耕智慧互联网,华数传媒正重新定义生活方式
  10. 刷新校史!985副研究员,以独立作者身份,研究成果被数学顶级期刊录用!
  11. [STM32]DAC全解分析
  12. linux下fastfds搭建
  13. 论文阅读:In the Eye of the Beholder: A Survey of Models for Eyes and Gaze
  14. 学英语《每日一歌》之take me to your heart
  15. 【NOIP2006 普及组】T3 Jam 的计数法 题解
  16. 亿道信息丨条形扫码终端丨数据采集器丨助力食品安全管理链
  17. 用python把json文件转excel
  18. 【Java定时任务】浅谈CronTrigger的用法和在线Cron表达式生成网址
  19. 项目经理必备的项目管理十大技能
  20. LED大屏分屏专业播放软件vMix Pro 19版一键和谐补丁永久使用

热门文章

  1. 一招完美删除顽固文件或文件夹
  2. ref可以写成变量吗?写在循环v-for里的时候怎么办?
  3. 京东金融集团BD部门招聘 BD经理
  4. 如何获取iOS 设备的 UDID
  5. 上证50指数和沪深300指数
  6. 一键下载网页所有图片一键下载网页所有图片
  7. 使用Python新建、上传和修改.xlsx文件
  8. 怎么向新闻媒体投稿?新闻稿投稿渠道哪个比较好
  9. ELO-Merchant-Category-Recommendation(上篇)
  10. JMeter接口测试工具基础— 使用Badboy录制JMeter脚本