Ada 在哪里使用(除了安全关键软件之外)?
当人们想到 Ada 时,人们通常会想到航空电子设备。
我感兴趣的是 Ada 的其他一些应用吗? 它用在哪里? 是否有任何用 Ada 编写的已发布应用程序?
比如里面有写CRUD应用吗? 还是游戏? ETC。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
当人们想到 Ada 时,人们通常会想到航空电子设备。
我感兴趣的是 Ada 的其他一些应用吗? 它用在哪里? 是否有任何用 Ada 编写的已发布应用程序?
比如里面有写CRUD应用吗? 还是游戏? ETC。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
Michael Feldman 积极维护“谁在使用 Ada/真实世界项目”列表列出了所有类型的军事和商业项目。 而且由于他对贡献者保密,因此项目将出现在那里,否则其公司赞助商不会将其作为“Ada Inside”项目进行讨论。
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.
除了安全关键系统之外,只有当许多团队致力于一个非常大的项目并且逻辑源代码行数超过大约 1 或 200 万行时,Ada 才会真正发挥作用。
就在那时,所有 Ada 语言定义的运行时检查(您有时认为有点迂腐并且增加了太多代码大小)变得非常有用。 修复数百万行代码中的某个错误从来都不是一件有趣的事; 运行时检查确实有助于更早、更接近问题发生的位置发现问题。
不幸的是,许多专业使用过 Ada 83 或 Ada 95 的软件开发人员无法告诉您他们所从事的项目。 我听说它还用于空中交通管制系统(在各个国家)、铁路运输系统(例如巴黎地铁和香港地铁)和银行/金融(路透社等)领域。
它是一种非常好的语言,有人提倡使用它,因为它是一种很好的语言,但有时,当您几个月甚至几年没有看到分段错误或真正令人讨厌的崩溃时,您开始想用 C++ 进行编码再次...
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.
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.
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).
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...
它最初是国防部的首选语言,因此您会在国防部项目中发现它的身影。 NASA 和 FAA 也是大用户。 由于这个基础,许多商业航空航天也使用它(尽管这可能是“安全关键”)。 例如,我认为波音 777 中的大部分软件都是用 Ada 开发的。 我认为欧洲航天局也经常使用它。
也就是说,它的使用确实还不够。 例如,它自然地几乎不受缓冲区溢出漏洞的影响,因此它确实应该成为操作系统开发的首选语言。
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.
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.
Ada 最初被认为是一种语言,旨在整合用于为美国军方构建系统的大量语言。 所以你会发现它在防御系统领域的应用中被大量使用。 有关此类应用程序的示例,请查看 Tokeneer 案例研究,其源代码现已在线提供。
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.
不在数量上。 在 GNAT 出现之前,Ada 编译器和开发工具都非常昂贵,并且通常只支持昂贵的Suns、Vaxen 或 IBM 大型机等硬件。
有一些这样的情况 - 各种机构都使用 SPARK 做安全关键的事情,但它往往 (尽管不完全是)定制工作。
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.
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.
我不确定,但是,在阅读了很多有关 Ada 的内容后,我认为它非常适合每个与物理相关的计算/自动化任务,因为所有这些编译时和运行时检查(一件有趣的事情是您可以创建两个不兼容的浮点类型,例如长度和质量。
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).
swagger-ada 项目为 OpenAPI Generator 用于在 Ada 中生成 CRUD 和 REST API。
Alire 是 Ada 的包管理器,它提供了各种库,可用于从嵌入式系统到桌面的应用程序应用。
虽然这些是库而不是应用程序本身,但它们在各个领域都有用途。
The swagger-ada project provides support for the OpenAPI Generator which is used for generating CRUD and REST APIs in Ada.
Alire is a package manager for Ada, which provides a variety of libraries for use in applications from embedded systems to desktop apps.
Whilst these are libraries rather than applications themselves, they show use in a variety of fields.
Ada 可以在游戏中使用。 看看这个:
https://sourceforge.net/projects/adagate/
这是一个新鲜的(2015 )将现代 OpenGL 与 Ada 结合使用的示例。
Ada can be used in games. Check this out:
https://sourceforge.net/projects/adagate/
It is a fresh (2015) example of using modern OpenGL with Ada.
Ada 在大型、遗留的、政府目标项目中仍然很受欢迎。 它也是 VHDL 的基础。
Ada is still popular in colossal, legacy, government-targeted programs. It's also a basis for VHDL.