标签: ada

Ada在哪里使用(除了安全关键软件)?

当人们想到阿达时,人们通常会想到航空电子设备.

我感兴趣的是Ada的其他一些应用程序?在哪里使用?是否有任何用Ada编写的应用程序?

例如,是否有写入CRUD应用程序?还是游戏?等等.

ada

27
推荐指数
6
解决办法
1万
查看次数

Ada如何成为"安全关键"语言?

我尝试使用Google搜索并在线阅读一些代码段.为什么Ada是一种"安全关键"语言?我注意到的一些事情是

  • 没有指针
  • 指定范围(此类型是整数但只能是1-12)
  • 如果函数参数是out或in/out,则显式声明
  • 基于范围的循环(避免绑定错误或绑定检查)

其余的语法我要么不理解,要么没有看到它如何帮助它成为'安全关键'.这些是一些观点,但我看不出大局.它是否具有我没有看到的合同设计?它是否有规则使代码编译更难(如果有的话,那么它们是什么?)为什么它是一种"安全关键"语言?

ada

26
推荐指数
3
解决办法
6668
查看次数

C++与D,Ada和Eiffel(模板的可怕错误消息)

C++的一个问题是我们从密集使用模板和模板元编程的代码中获得的可怕错误消息.这些概念旨在解决这个问题,但遗憾的是它们不会出现在下一个标准中.

我想知道,这个问题是否适用于支持通用编程的所有语言?或者C++模板出了什么问题?

不幸的是,我不知道任何其他支持泛型编程的语言(Java和C#泛型太简单了,没有C++模板那么强大).

所以我问你们:D,Ada,Eiffel模板(仿制药)是否也会产生如此丑陋的错误消息?是否可以使用具有强大通用编程范例的语言,但没有丑陋的错误消息?如果是,这些语言如何解决这个问题?

编辑:为downvoters.我真的很喜欢C++和模板.我不是说模板很糟糕.实际上我是泛型编程和模板元编程的忠实粉丝.我只是问为什么我从编译器那里收到如此丑陋的错误信息.

c++ templates d ada generic-programming

25
推荐指数
5
解决办法
3714
查看次数

Ada中的Web编程?

有没有人在Ada做过严肃的网页开发?是否有可用于此类任务的库或框架?我对那些免费和开源的东西特别感兴趣.

任何相关的指针都表示赞赏.

ada

22
推荐指数
5
解决办法
7623
查看次数

IF语句中"和"与"然后"之间是否存在差异

我通过修复错误和阅读代码来学习Ada.我注意到一些if语句与"and"结合,其他语句与"然后"结合.类似地,有"或"和其他地方有"或其他".一位同事说这只是语法糖并没有区别.我想知道他是对的吗?

ada

21
推荐指数
1
解决办法
8063
查看次数

Ada新项目?

我们目前正在为基于Atom的航空电子设备开发一种非关键的移动地图类型navcomm解决方案.原型已经在Python/Qt中完成,现在我需要决定用于"真实"应用程序的语言.Ada或C/C++.我已经做了12年的C++开发人员并厌恶这种语言.Ada似乎很有希望,但我有点担心它支持基础设施,可用库,开发人员可用性等等.以前有人经历过这个吗?你的结论是什么?

ada

20
推荐指数
5
解决办法
7059
查看次数

是否值得学习Ada而不是其他语言[c ++,c#]?

如果我要制造机器人,你推荐我哪种语言?在我们的大学,我们可以选择几种语言.大多数学生选择Ada只是因为我们的老师使用它.

经过一番研究,我发现ada已经过时了.你的想法是什么?是值得学习的吗?

robotics programming-languages ada

19
推荐指数
4
解决办法
2万
查看次数

何时使用Pragma Pure/Preelaborate

有一组通用规则/指南,可以帮助了解什么时候喜欢pragma Pure,pragma Preelaborate或别的东西完全?标准(Ada 2012)中提出的规则和定义有点沉重,我很感激阅读一些更为清晰的内容并针对普通案例.

如果我想彻底了解它的"原因",我可以简单地试试:

  • 标记包规格 pragma Pure;
  • 如果没有编译,请尝试 pragma Preelaborate;
  • 如果失败了,那么我已经做了一些棘手的事情,要么需要逐个pragma Elaborate单元,要么重新考虑包布局.withwith

虽然这可能有效(是吗?),因为建议尽可能将包标记为Pure(同样使用Preelaborate),但它看起来有点脑损伤,我更愿意更好地理解这个过程.

ada pragma elaboration

18
推荐指数
2
解决办法
4962
查看次数

在Ada中使用IN OUT

下面是ada中的一些代码

  with TYPE_VECT_B; use TYPE_VECT_B;

  Package TEST01 is
  procedure TEST01
           ( In_State   : IN     VECT_B ;
             Out_State  : IN OUT VECT_B );

  function TEST02
           ( In_State   : IN     VECT_B ) return Boolean ;

  end TEST01;
Run Code Online (Sandbox Code Playgroud)

TYPE_VECT_B包规范和主体也在下面定义

  Package TYPE_VECT_B is

  type VECT_B is array (INTEGER  range <>) OF BOOLEAN  ;

  rounded_data : float ;
  count : integer ;
  trace : integer ;
  end TYPE_VECT_B;

  Package BODY TYPE_VECT_B is
  begin
   null;
 end TYPE_VECT_B;
Run Code Online (Sandbox Code Playgroud)

变量In_State和Out_State实际上意味着什么?我认为In_State表示输入变量.我只是对Out_State的含义感到困惑?

ada

17
推荐指数
2
解决办法
1万
查看次数

与C ++中的Ada子类型等效

C ++是否提供类似于Ada的subtype类型来缩小类型?

例如:

type Weekday is (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
subtype Working_Day is Weekday range Monday .. Friday;
Run Code Online (Sandbox Code Playgroud)

c++ language-comparisons ada

15
推荐指数
2
解决办法
443
查看次数