F22、F35开发费用中比重最大的部分居然是...俄、中差距还很大啊...

F22相对于三代机的一个重大进步就是在于操控系统、人机系统、信息过滤系统的的高度智能化和自动化,这完全是软件系统进步带来的成果。大部分人都认为F22中最耀眼和值得骄傲的部分是发动机、雷达、隐形涂料、隐身外形等等这些看得见摸得着的部分。其实真正让这些物理部分发挥出巨大能量的恰恰是F22异常复杂和先进的软件系统。F22的软件系统使用的是极少有人使用的、出于与为了民用技术所有隔离的Ada语言开发的。会这种语言的程序员很少,语言开发难度高,耗时耗力,导致F22的开发成本中有70%的比重居然是这几百万行Ada语言代码。F22的Ada软件系统经历了4种版本:版本0是首次试飞阶段使用的版本。只有基本功能,有27.2万行源语言代码;版本1是工程发展型4号机试飞时使用的版本,有86.6万行源语言代码;版本2将是1999年底扩充雷达功能后的版本,有102.4万行源语言代码;版本3是首批批产型使用的版本,有155.6万行源语言代码。这些软件负责通讯、导航、识别处理功能,雷达处理功能,电子战处理功能,任务处理功能,惯性基准处理功能,外挂物管理处理功能,控制和显示处理功能,核心处理功能,飞行器管理功能,通用分系统功能。发动机、材料、雷达、导弹,那些看得见的物理部分和软件部分的开发费用比起,已经是小巫见大巫。

F35相对于F22,智能化、自动化程度更高。为了节省开发成本,吸取了F22使用Ada语言导致程序员难以获得、开发成本高,开发成本长的弊病。F35的软件开发采用了计算机界最流行、使用最为广泛的C/C++语言开发,这种语言应用广泛、程序员数量巨大、技术成熟稳定,开发效率和Ada语言不不能同日而语。并且F35的软件开发还大量分发外包给印度软件公司,使得F35的软件开发成本大大降低、开发效率大大提高。否则以F35的软件复杂程度而言,其单机成本很可能远比F22还要昂贵。

今天,衡量一款现代战机的所能发挥的性能和战斗力,已经不是单单靠一个发动机、一个雷达的数据可以简单比较。信息化时代的到来也同时大大影响了飞行器的发展。软件的重要性将越来越多的取代简单的机械性能的进步,并在下一代智能无人战斗机中发挥到极致。

本文内容于 2013/6/3 10:12:18 被Airfang编辑

[ 转自铁血社区 http://bbs.tiexue.net/ ]

猜你感兴趣

更多 >>

评论

评 论

热门评论

 以下是引用杀鸡无需屠龙刀 在第2楼的发言:
中国在软件方面是很垃圾的。

军用不清楚。民用的例子就是同样型号的索尼镜头,用在苹果iPhone上成像效果非常出色,而用在中兴手机上则是烂得不行。

说你傻都是夸你

70%成本,不可信,请给出具体原始地址。软件这块说实话,中国代码民工很多,真正搞底层的太少了。

16楼 Airfang
f22早在1983年就进入早期开发准备阶段,1985年美国国防局才正式招标取代F15的下一代战斗机项目。而Ada的第一个版本Ada83到85年才起草完毕。就像安卓是用c/c++写的,但是可以用java写APP一样。底层还没搭好,怎么建造上层建筑?那我问你ADA诞生之前的那些三代战斗机用啥语言写软件的?用机器语言写?我只知道70年代诞生和进入开发阶段的战斗机的软件部分,最早用用汇编,后来用Jovial写出来的。60-70时代还没有ADA!几百k内存已经是小型机的内存当量了。(比尔盖子在80年代还说过一句名言:个人电脑只需要64K内存就足够了!想想那个年代的硬件基础吧!)

本文内容于 2013/6/3 10:50:34 被Airfang编辑
17楼 混混兔
首先:C前身的B没有那么流行,C语言流行的原因是当年有人在Unix上的C编译系统,重新编译出新的Unix。但是B可做不到这一点。顺便说一句,Linux就是Unix的衍生性操作系统(库函数一致)——安卓就是众多Linux系统中的一员。

其次:美军当年为什么要开发类Pascal语言结构的ADA?起源就在于早期厂家使用的编译器不统一,导致系统集成起来特别困难,于是做了要求一个统一编译器,所以美军肯定也不会统一使用B。至于为什么类Pascal语言结构,原因是Pascal语言是第一种的结构化语言,结构化的目标是让程序更直观,更容易看懂,查错容易。注:此时C还没有到面向对象这种概念,C语言灵活的特点(主要是指针和数据通用)带来了纠错极难,可靠性就低。于是后来就出现所谓坚决不用指针的Java。

第三:解释语言和编译语言对比,事实上解析语言需要的存贮低,就如当年的AppleII那样,标配是48K内存,加上扩充卡才64K内存。只有BASIC解释语言,如Pascal这样编译程序也有,但是程序稍微大一点就挂了,更别提C语言了。换到应用环境中,程序代码稍微长一点情况下,BASIC源程序+Basic解释运行占用的内存<编译语言下的目标程序。早期的航天电子上运行的大部分都是源程序+解释运行。原因是执行代码需求的内存小,另外出错概率小。如60年代美国的探测火星失败的原因就在FORTRAN语言程序的DO语句中漏掉一个逗号。如果要找生活上例子,可以寻早期的文字类网游MUD,上面可都是解释执行的类C语言。

第四:ADA为什么不流行,最早的原因应该怪美国国防部,一边吹嘘运行效率可以对比C,又有如Pascal一般难出错。一边又不肯给一般程序员全部的库函数。程序员对熟悉的语言编程的速度要高于不熟悉语言2、3倍之多,所以ADA写起来,自然成本奇高。到了几乎所有语言都引入的面向对象的概念后,(C从此进入了C+时代),结构化就不再是ADA这一家的优点。其实后来的普通C编译器都已经注意到了指针和数据通用带来的坏处,对于想混用变量类型实施的默认禁止。

最后:用机器代码和用汇编其实几乎就是一回事情,当然使用汇编好处就是可以使用借记符来记忆地址,以及不用管指令的寻址方式的变化。基本上出了变量定义外,汇编和机器代码几乎一一对应,这和高级语言有很大区别。

回到这个帖子

最起码我看不出别的什么东西。只是如此看来ADA只怕要死了,最终,对于成本的要求压垮了美国国防部的雄心,20多年的心血和资金都白费了……


本文内容于 2013/6/3 13:17:00 被混混兔编辑

你说这么多对于楼主来说都是白说了

楼主这类人的逻辑是:

我跟你说个事儿啊,这事儿啊全世界都不知道,我就告诉你。

证据?全世界都不知道的事儿是,怎么可能有证据。

我怎么知道的?切,我是人么!

这事儿啊,,,

就是

美帝很强大!兔子没前途!


更多精彩内容