当前位置 : 主页 > 网络编程 > 其它编程 >

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

来源:互联网 收集:自由互联 发布时间:2023-07-02
WhenonethinksofAda,oneusuallythinksofavionics.当人们想到阿达时,人们通常会想到航空电子设备。WhatIminterested When one thinks of Ada, one usually thinks of avionics. 当人们想到阿达时,人们通常会想到航空电子
WhenonethinksofAda,oneusuallythinksofavionics.当人们想到阿达时,人们通常会想到航空电子设备。WhatIminterested

When one thinks of Ada, one usually thinks of avionics.

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

What I'm interested in are some other applications of Ada? Where is it used? Are there any shipped applications written in Ada?

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

For example, are there CRUD apps written in it? Or games? Etc.

例如,是否有写在其中的CRUD应用程序?还是游戏?等等。

8 个解决方案

#1

29

Michael Feldman actively maintains a "Who's Using Ada/Real-World Projects" list that lists all types of military and commercial projects. And because he maintains contributor confidentiality, projects will show up there that wouldn't otherwise be discussed by their corporate sponsors as "Ada Inside" projects.

迈克尔费尔德曼积极维护一个“谁在使用Ada /真实世界项目”列表,其中列出了所有类型的军事和商业项目。而且由于他保持贡献者的机密性,项目将出现在那里,否则他们的公司赞助商将不会讨论“Ada Inside”项目。

#2

15

Apart from safety critical systems, Ada only really shines when you have many teams working on a very large project and the number of logical source lines of code exceeds about 1 or 2 million.

除了安全关键系统之外,当你有很多团队在一个非常大的项目上工作而且代码的逻辑源代码行数超过大约1或2百万时,Ada才会真正发光。

It's at that point when all the Ada language defined runtime checks that you sometimes thought were a bit pedantic and increased the code size by too much, became really useful. Fixing a bug somewhere in millions of lines of code is never fun; the runtime checks really help detect problems earlier and closer to where they occur.

正是在这一点上,所有Ada语言都定义了运行时检查,你有时认为它有点迂腐,并且代码大小增加了太多,变得非常有用。修复数百万行代码中的错误永远不会有趣;运行时检查确实有助于更早,更接近地发现问题。

Unfortunately, many software developers who have used Ada 83 or Ada 95 professionally can't tell you about the projects that they have worked on. I've heard that it's also used in the areas of Air Traffic Control Systems (in various countries), Railway Transportation Systems (such as Paris Metro and Hong Kong Subway) and Banking/Finance (Reuters and others).

不幸的是,许多专业使用Ada 83或Ada 95的软件开发人员无法告诉您他们所处理的项目。我听说它也用于空中交通管制系统(在各个国家),铁路运输系统(如巴黎地铁和香港地铁)和银行/金融(路透社等)。

It is a very good language and there are people who advocate its use because it's a good language, but sometimes, when you haven't seen a segmentation fault or really nasty crash in months or maybe years, you start to want to code in C++ again...

它是一种非常好的语言,并且有人提倡使用它,因为它是一种很好的语言,但有时,当你没有看到分段错误或几个月甚至几年的真正令人讨厌的崩溃时,你开始想用C ++编写代码再次...

#3

8

It started life as the DoD's preferred language, so you will find it all over DoD programs. NASA and the FAA are big users too. Because of that base, a lot of commericial aerospace uses it too (although that is probably "safety critical"). For instance, I think most of the software in the Boeing 777 was developed in Ada. I think the European space agency uses it a lot too.

它起初是DoD的首选语言,因此您可以在DoD程序中找到它。美国宇航局和美国联邦航空局也是大用户。由于这个基础,许多商业航空航天公司也使用它(虽然这可能是“安全关键”)。例如,我认为波音777中的大多数软件都是在Ada中开发的。我认为欧洲航天局也使用它。

That said, it really isn't used nearly enough. For instance, it is naturally almost immune to buffer overflow exploits, so it really ought to be the preferred language for OS development.

也就是说,实际上它的使用还不够。例如,它自然几乎不受缓冲区溢出攻击的影响,所以它确实应该是OS开发的首选语言。

#4

6

Ada was originally conceived as a language to consolidate the very large number of languages used to build systems for the US military. So you will find it used a lot in applications in the domain of defense systems. For an example of such as application have a look at the Tokeneer case study, whose source code is now available online.

Ada最初被认为是一种语言,用于整合用于为美军建立系统的大量语言。因此,您会发现它在防御系统领域的应用程序中使用了很多。有关此类应用程序的示例,请查看Tokeneer案例研究,其源代码现已在线提供。

#5

5

I don't know for sure, but, having read a lot about Ada, I considered it to be perfectly appropriate for every physics-related computational/automation tasks, because of all these compile-time and runtime checks (one tasty thing is that you can make two incompatible floating-point types, e.g. Length and Mass).

我不确定,但是,在阅读了很多关于Ada之后,我认为它非常适合于每一个与物理相关的计算/自动化任务,因为所有这些编译时和运行时检查(一个好吃的是你可以制作两种不兼容的浮点类型,例如长度和质量)。

#6

4

Not in quantity. Until GNAT came along Ada compilers and development tooling were very expensive and typically only supported expensive hardware like Suns, Vaxen or IBM Mainframes.

数量不多。在GNAT出现之前,Ada编译器和开发工具非常昂贵,通常只支持昂贵的硬件,如Suns,Vaxen或IBM Mainframes。

There is a bit of it around - various outfits do safety-critical stuff with SPARK but it tends (although not exclusively) to be bespoke work.

它有一点 - 各种服装与SPARK做安全关键的东西,但它倾向于(虽然不是唯一的)定制工作。

#7

2

Ada is still popular in colossal, legacy, government-targeted programs. It's also a basis for VHDL.

Ada仍然以巨大的,传统的,政府目标计划而广受欢迎。它也是VHDL的基础。

#8

1

Ada can be used in games. Check this out:

Ada可用于游戏。看一下这个:

https://sourceforge.net/projects/adagate/

It is a fresh (2015) example of using modern OpenGL with Ada.

这是一个新的(2015)使用现代OpenGL与Ada的例子。

网友评论