转载一篇关于ADA的文章
转载一篇关于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后必须跟名称
和一些资源:
Windows下的开源开发环境:ADA Gide http://adagide.martincarlisle.com/ 其实这个不太好。
最权威的开发环境是ADACORE的GNAT:http://libre.adacore.com/libre/ 这个的免费版就已经很不错,至少可以用用(下载链接:http://libre.adacore.com/libre/download/),虽然已经遇到一些问题和bug。(Linux环境往往会附带ADA编译器)
ADA 95标准和参考: http://www.adahome.com/rm95/
ADA 2005标准和参考:http://www.adaic.org/ada-resources/standards/ada05/
ADA的wiki books:http://en.wikibooks.org/wiki/Ada_Programming
谁在用ADA:http://www.seas.gwu.edu/~mfeldman/ada-project-summary.html
ADA也有不少问题,一些ADA的比较研究:http://archive.adaic.com/intro/c.html
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的文章相关推荐
- 转载一篇关于curl的文章
转载一篇关于curl的文章 http://www.360doc.com/content/16/0107/15/18578054_526158476.shtml
- 转载一篇加盟骗局的文章
在当今的中国,各形各色的骗局可以说是五花八门,数不胜数!抛开一些小的街头骗局,大型的骗术就有传销骗局,短信中奖骗局,信用卡中奖骗局,连锁加盟骗局等等! 如果我要是问你这些骗局中哪种最可怕,最暴力, ...
- 转载一篇关于绿的文章 ---花季护航”是一个笑话
怀着忐忑不安的心情,下午我在XP里测试了7月将在所有品牌PC预装的"-花季护航"软件.我后悔我不用虚拟机来测试. 幸好我现在主要使用的是windows 7,不然我可能会重装一次XP ...
- (转载)一篇很有意思的文章,关于C语言学习的。
因为我也看过Schildt的作品,无意中在网上看到这篇文章,就转来了. 本文转载自 刹那永恒 的博客:http://blogold.chinaunix.net/u/12391/showart_1043 ...
- 转载一篇介绍 WordPress 的文章
Wordpress简明使用指南 从今年9月到现在,我用Wordpress也有大约3个月了.现将自己使用中的一些体会分简介.安装.一般使用.主题.插件.代码修改等几个部分逐一概述如下. 1. 简介 Wo ...
- VSS服务器安装配置(比较完整的一篇VSS服务器配置的文章)
配置 vss 服务器 安装 公司的产品要发布了,在做集成测试,要用到VSS,转载一篇关于VSS的文章与大家共享 VSS 的全称为 Visual Source Safe .作为 Microsoft Vi ...
- 转载几篇别人写的皮肤类控件的技术文章
转载几篇别人写的皮肤类控件的技术文章 原连接:http://blog.sina.com.cn/s/blog_4c3538470100ezhu.html 实现控件的透明背景 很多情况下,我们需要控件 的 ...
- 这是一篇测试博文的文章
这是一篇测试博文的文章 转载于:https://www.cnblogs.com/hoojo/articles/1886681.html
- 一篇不错的wsl文章
2019独角兽企业重金招聘Python工程师标准>>> http://www.xitonghe.com/jiaocheng/Windows10-9302.html 一篇不错的wsl文 ...
最新文章
- CodeForces - 1341D Nastya and Scoreboard(dp+贪心)
- URLRewiter使用
- 给大家讲一个被社区团购小程序套路的经历吧
- IT职场人生系列之三:第一份工作
- 创建Tapestry5 工作环境
- Blender3.0资产浏览器
- C语言模拟实现虚拟存储管理(请求分页存储管理)
- vue + elementui table 列内容相同 自动合并单元格 完整代码
- 深耕智慧互联网,华数传媒正重新定义生活方式
- 刷新校史!985副研究员,以独立作者身份,研究成果被数学顶级期刊录用!
- [STM32]DAC全解分析
- linux下fastfds搭建
- 论文阅读:In the Eye of the Beholder: A Survey of Models for Eyes and Gaze
- 学英语《每日一歌》之take me to your heart
- 【NOIP2006 普及组】T3 Jam 的计数法 题解
- 亿道信息丨条形扫码终端丨数据采集器丨助力食品安全管理链
- 用python把json文件转excel
- 【Java定时任务】浅谈CronTrigger的用法和在线Cron表达式生成网址
- 项目经理必备的项目管理十大技能
- LED大屏分屏专业播放软件vMix Pro 19版一键和谐补丁永久使用