Mar*_*c C 38
(来自实际Ada开发者的回复)
与其即将消亡的预测相反,阿达仍然很顺利.该语言的当前版本是Ada 2005,Ada 2012的更新正在最终确定中.
Ada继续进行现代化改造,并融入行业开发的新软件工程特性和实践.(反过来也是如此 - 内置的并发性自1983年以来一直是Ada的核心功能,现在才进入"现代"编程语言.:-)
Ada不会采用任何新的功能和实践,例如,Ada不会变身为功能语言.但是,那些提高软件生产力,可靠性和安全性的功能的合并方式与Ada的底层架构和意图一致.
Ada确实不是一种广泛使用的编程语言,但它确实拥有一个忠诚的开发者社区,他们几乎总是愿意帮助那些开发项目和学习语言的人提出问题,关注和建议.资源包括StackOverflow(检查Ada标签),comp.lang.ada,甚至是Reddit.
至于Ada开发人员的可用性,它有点像"Catch-22"的情况.因为它没有被广泛使用,所以开发人员较少.由于开发人员较少,公司不愿在项目中使用它,并且因为它没有用于项目,开发人员不会去寻找工作.
不过,我可以证明,有许多知识渊博的现任和前任Ada程序员喜欢使用这种语言,并且对于你所描述类型的应用程序特别感兴趣 - 如果他们知道它的话.如果你承诺与Ada合作,然后毫无歉意地为Ada开发者做广告 - 在Monster上,无论你在其他地方做广告,还是在comp.lang.ada或Reddit上有品位 - 我认为Ada开发人员的可用性会给你带来惊喜其他怀疑论者.
祝你的项目好运.
Awa*_*ken 13
我会投入我的想法.快速背景:我目前正在Ada的一家大公司工作(不是洛克希德,但足够接近).我是核心的C程序员.(也使用C++,C#和Java)
阿达作为一种语言很好.它有一些很好的东西,你不能用C/C++.对于实时关键系统,这非常好.它需要一点点习惯,但它很容易学习.
缺点是语言感知真的.我认识的大多数喜欢和选择Ada的工程师都比较年长(45岁以上).其中有两种类型的程序员:实际上非常擅长Ada并且可以做得对的人,以及那些"知道"Ada的人,但是用70年代代表70年代的方式/风格用旧语言编程.那些优秀的Ada程序员在这里受到高度重视.对于一家小公司抢夺他们,我认为你需要减少一些主要现金.他们有4-5周的假期,6个数字的工资(即使在更便宜的地方居住)和各种好处.我希望这看起来不像年龄一样,但它只是它的方式,可以作为一家小公司来考虑.如果你在达拉斯/沃斯堡这样的主要技术领域,它可能没问题.正如你在评论中提到的,大多数年轻的程序员都不习惯学习Ada.作为一种语言,它可能会付出很好的代价并且很好,但它几乎不具有市场价值或令人兴奋.
如果我正在启动一个实时嵌入式系统项目,我会坚持使用C(如果你需要OO,还可以使用C++).对于嵌入式我更喜欢C实际上超过C++,因为根据我的经验,工程师试图强制嵌入式系统进入OO并使用功能因为它们在那里,但你的里程可能会有所不同.使用C或C++:1.巨大的程序员池可供选择.2.人类已知的每一种工具都可以使用它(许多是免费的).3.网上资源无穷无尽.
它会让你开始工作.如果您可以使用像Green Hills和VxWorks这样的JTAG访问一些优秀的调试器,那么它确实可以推动开发速度.
T.E*_*.D. 12
通常,在某些情况下我更喜欢C++.如果你的程序没有任何并发性,并且有一些C++(不是C而且是C++)库可能真的很有用,那么C++可能就是这样.
但是,如果你将并发作为系统设计的一部分,Ada是一个巨大的胜利,因为它本身支持它.我所做的一项工作实际上是编写了一个完全可移植的实时调度程序.我们在大约2个小时内将整个模拟(> 100KSLOC)从vxWorks移植到完全不同的供应商的Windows编译器(所有这些都用于处理不同的源代码库系统).
任何具有C链接的库在Ada中都是完全可用的,尽管有时您可能会发现自己必须编写绑定.这是一个更多的工作,但你会经常发现其他具有相同库的人已经为你完成了工作.例如,我相信有可用的所有Win32绑定.尽管如此,制作新的很容易,我经常发现自己这样做只是为了提供一个我更喜欢的界面.
Ada还有一些功能,恕我直言使其成为低级系统编程的首选语言.例如,该语言允许您准确指定记录中每个字段的放置位置和大小.这对于处理与其他平台通信的硬件或数据至关重要.C++目前只允许您指定每个字段的大小.我现在正在处理这个问题,发现它非常令人沮丧.
系统编程的另一个杀手级功能是默认情况下会检查所有数组的边界.如果需要,可以将其关闭以提高效率,但默认为安全.恕我直言这是默认应该是什么.在C++中如果你想要安全,你必须自己编写代码,或者使用像std :: vector这样更安全的类(并且只使用这个.at()方法.你见过多少次这样做?从来没有?我.)
小智 7
良好的原因阿达是不是一个重磅炸弹语言(尽管从我读,我在学习更多真正感兴趣的)一部分是因为大多数程序员想快速和肮脏.只看一下Microsoft Windows.他们用C编写了第一个版本(还有一些x86汇编程序).花了两年时间才完成整个怪物,即使现在也很脆弱.病毒和蠕虫很容易渗入系统是非常糟糕的,他们试图远离Windows 8中的Win32 API.我敢肯定,如果操作系统是用Ada编写的,那么它会更多强大而且比现在更安全