StupidBeauty
Read times:1786Posted at:Sat Jan 19 22:50:07 2013
- no title specified

Ada教程翻译: Ada 95教程 - 简介 , Ada 95 Tutorial – Introduction

文: http://www.infres.enst.fr/~pautet/Ada95/intro.htm

简介

欢迎来到Ada 95 的世界,这是一个相对年轻的编程语言。尽管Ada 过去 曾因为特定的项目而被政府监管 ,但是 这种监管已经解除 。Ada 是一种足够强大的语言,由于各种优点 ,它会在市场上 大获成功的。

自从Ada 语言在1983 年发布第一 版并且获得成功之后 就组建了一个标准委员会 来回顾 该语言并且在必要的时候进行更新 。自从第一 次发布Ada 以来, 人们关于如何更好 地组织 源代码以 便获得效率 和正确性好处的研究 得了长足 的进展 。所以 在对Ada 改版的过程中也参考了这些研究 成果 新的标准于1995 年完成并通过,因此 被叫做Ada 95 。原来 的版本通常叫做Ada 83,但是两个版本 也可以都叫做Ada。 在此教程中,Ada 或Ada 95 都会表示Ada 95 而提 到Ada 83 的时候会明确说成Ada 83

ADA是一个大尺度的语言

天生就是这样,Ada 是一门大尺度的语言,相对来说较难编译 。因为 在编译的时候要进行 多的检查。 经过估算,一个完 功能 的Ada 编译器需要50 个人年 的工作量来编写 和调试。 这就意味着世界上不会有大量的Ada 编译 器,而且它们 本身 会是大型软件。另外 米国国防部要求 ,任何 一个号称Ada 的编译器都必须是个完整的系统。 它必须包含Ada 标准中的核心部分, 同时 还可以附加 一些功能作为Ada 的扩展。 在教程中还会再提到这个话题。

Ada 语言的体积决定了此教程 被分成两部。 第一部(Ada 基础) 会讲解Ada 中的基本内容,并且 教妳像使用Pascal 那样使用Ada 。如果 妳只学完第一部,那么 将有能力使用Ada 来编写实用的程序,但是 将不知道如何使用 Ada 中的高级功能, 而那个是在第二部(Ada 高级特性)中讲解的。由于Ada 本身 就倾向于成为一个大型的灵活的语言,所以 妳完整 学完 此教程中的两个部分是比较好的选择。

ADA并不只是另一门语言

Ada的设计目标 并不是仅仅成为另一门语言,因为 狠多现代的软件工程原则包含 在其中了。例如,信息隐藏 的概念就 被植根于语言之中, 而不是 以一种编程技巧的方式来实现的。Ada被设计用来开发大型软件系统,因此完全 有能力胜任那些包含 数十万行甚至数百万行代码的项目。显然 ,单个程序 不可能 可以接受的短时间内完成如此大的项目 ,必须需要 一个团队来完整这种项目。Ada尤其适合于团队项目

这个教程是如何写就的?

一个好的参考手册必定 不是一个好的教程, 用一个参考手册来学习 一门知识是一件痛苦的事, 另一方面, 用一个教程作为学习过程中的参考也是一件 狠2的事。 这个教程的定位就是一个教程, 从未尝试成为一个参考手册。因为 要求学生按照教程 中给出的顺序 来学习。 这个教程中的狠多新概念都是建立在之前章节 里提到的概念的基础之上的 ,必须理解 了之前 的章节才能继续学习后续章节。

示例程序都是完整的程序, 可以在任何安装 有效的Ada 95 编译 器的电脑 上编译和执行。没有任何 一个示例程序 是代码片断,所以 在学习新概念之前,妳已经拥有 可以演示 该概念的完整代码了。 从Ada 83 到Ada 95 的改版中,程序库的命名方式发生了改变,所以 此教程中的示例程序 都无 法在 Ada 83 编译 器中编译通过。Ada 83的变量命名风格 与Ada 95 兼容 不过我们觉得使 用新版的命名风格比较好。

万一妳没有ADA 编译器勒?

在每个示例程序之后, 妳都会发现以Ada 注释的形式 列出来的执行结果, 这些结果是使用 一个有效的Ada 编译器编译运行之后得到的。事实 上, 我们使用了5种 不同的编译器来编译每个示例程序 ,所以得到 的结果是可以放心参考的。执行结果 可用作两个用途:检查 妳所用的编译 器是否符合标准;如果 妳没有Ada 编译器的话,可以用来 向妳提供真正的执行结果。 有些时候, 妳可能 想避免 做那些编译 、链接、载入和运行的步骤, 而是直接得到结果 ,这种情况下直接 看答案就行了,可以省时间。

几乎在每个示例程序中,我们都 尽最大努力 来展示出一个良好的编程风格 。只有两个示例是例外, 那两个示例是专门用来展示糟糕 的编程风格的。 在妳学习这个教程中的示例程序的过程中, 妳就 会跟着学到一个良好的编程风格。

这个教程是写给谁看的?

这个教程是面向两种程序 猿的:第一 种是那种专业 的FORTRAN 程序猿;第二 种是那种使用现代结构 化语言的专业程序猿 ,例如 Pascal C C++ 。没有编程 经验的人 在学习此教程的时候会有较大难度, 这是由Ada 的尺度和复杂性决定的。但是只要 有足够的耐心,即使 是这种菜鸟也能 通过此教程 学会Ada 的。

第一种类型的程序猿可能 都是编程老手了,可能 在业内混了狠多年 ,并且多年使用FORTRAN。 此教程的作者便是其中一员, 从1961 年便开始使用FORTRAN II 。资深FORTRAN 程序 猿会发现数据类型 这个概念 太新了,甚至认为 给编程语言带来额外 的麻烦。所以 在此教程中会仔细讲解 这个概念以及其它比较 新的概念。

第二种类型的程序猿 由那种熟悉现代 的结构 语言的人组成,例如Pascal 。他们已经知道 了数据类型的概念,但是 会觉得Ada 中的某些新东西是完全陌生的。 此教程的作者也是其中 的一员,使用Pascal C C++ 编程达 15年,并且 在11年之前开始使用Ada。

妳是哪种类型的?

如果妳是一个资深FORTRAN 程序猿,那么 妳需要仔细阅读每个章节 了。但是,如果 是属 那种长期使用现代结构 化语言的类型的,那么 妳只需要仔细阅读某些章节中的一些细节 ,因此 可以阅读得快一些。然 而, 还是要注意按照章节顺序来阅读 因为 ,某些细节 看起来非常像Pascal,实际上却完全 不同 。所以 ,即使碰到那些妳感觉非常熟悉的东西,也最好仔细研究 一下。

资深的C 程序猿可能 Ada 编译 对细节的严格程 感到困扰。 妳将无法再使用之前常用的“技巧” 来愚弄编译 器,进而做出特别 的事。Ada编译 不可被愚弄。

注意计算机的字长

当前常用的大部分计算机的字长 是32 位,所以 我们预期 大部分用户 会使用32 位的系统。由于 这个原因, 在此教程中遇到 与字长相关的问题时 ,都会假设字长是32 位, 而执行结果也会反映 出那个字长条件下的情况。如果 妳使用的是16 位的系统,或者其它字长的系统,那么 妳也应当能轻易地 查清楚对于妳的系统的正确结果。 我们会关注到字长的地方主要就是在讨论特定数据类型 的限制的时候。

编程练习

每章的末尾都会给出一到多个编程练习题,让妳 来研究。建议 妳在读完每一章之后手动完成所有练习 题,然后 去学习下一章。如果 妳做那些练习题的话, 会获得编写Ada 程序 的经验,而不是简单 地获取阅读Ada 程序的经验 ,于是妳的综合能力就提高了。 妳只需简单地 搞清楚编译过程中那些编译 器错误信息就可以获得大量知识 可以向妳保证,妳会遇到编译器错误信息的。某些练习 题甚至还要求妳尝试着制造 出错误信息。

所有编程练习题的答案都在a95ans1.zip a95ans2.zip 中,可以下载。文件 名的格式是CHnn_ml.ADA,"nn"表示章节编号"m"表示该章的练习 题编号,"l"表示多个可选答案的编号。 第4章中 第1个练习题的答案 的文件名 是CH04_1.ADA, 而如果 有两个答案的话,文件 名会是CH04_1A.ADA 和CH04_1B.ADA,并且每个文件 中都会以注释的形式列出执行结果。如果 看答案之前先尝试自己解决练习 题的话,妳会受益匪浅。 这些文件可以编译和执行,但是,某些文件可能 会在编译或执行时出现错误 ,因为那些文件就是用来展示 妳在编程过程中可能遇到的错误的。编译 及运行那些程序的结果会以注释的形式 在文件的末尾列出, 就像示例程序 中的注释一样。

某些编程练习题是精心挑选的,用来展示 与该章节相关的某些附加话题。如果 妳感到困惑,那就直接去看答案 ,然后想想为什么是这样的。当然 ,首先妳还是应当尝试自己解决问题。

妳自己的练习题

示例程序中,有狠多是 不产生任何输出的。 这是为了 让妳自己去写 一些输出语句,以便查看其中 的一些执行结果。 妳应当 有意地破坏某些程序 、尝试 写些奇怪的代码 ,这样来验证妳是否理解 了教程中的内容。 在此教程项目建立 的最初就已经确定一 个要求, 就是,所有 的示例程序都必须能够通过编译 而不报告任何错误。 这使得我们狠难演示编译 器的 某些检查过程 ,此时 就要靠妳自己来搞出那些错误了。如果错误 是由妳自己搞出来的,那么编译 器的错误信息也应当 能轻易理解 了。 记住,编程练习 题的某些答案 会产生编译 或运行错误。

建议的读物列表

以下参考书籍可按任意顺序学习。如果 妳想认真学习Ada 的话,就应当 把这些参考书籍都搞到手。

  1. 1.Barnes, John; "Ada 95编程", Addison-Wesley. 此书 既从低层次也从高层次讲述了这门编程语言, 但不讲述软件工程。 这是 最适合新学生的书。 把它说成一个Ada 95 参考手册最准确。

  2. 2.Naiditch, David J.: "认识Ada 95", John Wiley & Sons. 这本书适合于初学 者或者那些已经 会使用Ada 83 而想进一步学习Ada 95 的人。 此书作者 做了精心处理,对于那些 只适用于Ada 95 而不适用于Ada 83 的内容, 会在文字左侧插入一个小图标。

  3. 3.Ada 95参考手册(ARM); 妳的编译器可能已经带有一份ARM 了。 在以下网站可找到一份带链接的ARM 版本; http://www.adahome.com/rm95 。但是 ,由于网络上的任何站点 都可能频繁改变,所以 这个网址也可能会变。如果 在这个网站上找不到,那就通过搜索引擎来找吧。

  4. 4.Ada95基本原理; 妳的编译器可能带有一份基本原理了,但是 妳也可以在以下网站找到 该内容; http://sw-eng.falls-church.va.us/AdaIC.

注意 - 以上参考 3和参考4中列出的网站 中有狠多关于Ada 95 的信息,所以 妳应当熟悉其中 的内容, 会有狠多收获的。

继续阅读 第1章

返回目录

版权所有© 1988-1998 Coronado公司 - 最后更新时间 1998 年2月1日

此翻译由漂亮的笨蛋荣誉出品
Gordon Dodrill - dodrill@swcp.com – 请使用邮件 发送任何评论或建议。

美女

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4