蓝屏没影响中国民航蓝屏没影响中国民航吗_为什么军工行业不用java,而是选择继续用c++?

小编 101 0

为什么军工行业不用java,而是选择继续用c++?

某语言天天喊着人多势众就觉得要一统天下了。其实某语言只在单位的审批流,电商这些这些请求延迟应用需求是几秒级别的应用场景。对于实时性要求高,可靠性要求高的环境。某语言基本绝迹。这表现在车床控制,武器控制,医疗设备,甚至绝大多数3D游戏。某语言基本是绝迹的。

首先是安全问题。

Java是一个庞大的生态。在jvm(java的运行虚拟机)这个大基础之上还有无数框架、中间件。比如springboot、kafka等等。这里面99%的代码贡献者都是老外。庞大的代码量和复杂的设计体系使得即使开源的项目,要隐藏一些后门都是极为容易的事情。与之相反,想要找出这些后门难如登天(做过软件开发的人就知道,自己亲手写的代码,项目一旦变得庞大,想要找出特定场景才出现的BUG有多难)。开源的项目的风险都不可控,不开源的部分就更不用讲了。因此,Java生态体系无法达到军工要求的安全级别,项目中每一个第三方都可能成为风险源。Jvm能不能保证安全都还是一个巨大的问题。

其次是稳定性问题。

得益于Java生态的完善,有大量的框架的组件可以使用,就使得在Java上做任何项目,程序员第一件事就是想找有无可用的现成框架或者组件,自己动手写一些复杂的算法必要性越来越低,底层能力越来越差,至少90%的java程序员是胶水程序员,负责组合各种第三方,然后做一些简单的业务逻辑。第三方的框架和组件的代码质量和可靠性无法评估。大量使用框架带来的问题就是臃肿,框架为了追求更广泛的适用性,会做很多兼容和妥协。极端情况下C++的程序只要几KB大小就能实现的功能,java得带上Jvm不说,打包个就可能几十MB。套用一句真理:代码量越大,稳定性越差。

再次是C++的优点。

C++可以开发最低层的应用,例如直接和硬件打交道的驱动,几乎没有不可以实现的功能。用C++做开发最大的问题是,可以用的现成东西比较少,凡是想要做啥功能都要自己动手。开发界有一句古话“不要重复造轮子”,但是C++就是造轮子的工具,所以用C++开发就得自己造轮子。相当于工业母机床,想造什么都根据需要来实现。从国家安全的角度考虑,军工信息化应该有自己的一套生态。这一套生态环境应该是封闭的,由军工人一代一代累积下来的。

综上,个人认为,军工不可能淘汰C++,随着军工信息化生态的完善,被淘汰的更有可能是Java。当然,这个过程最难的就是人材的培养,越封闭的系统,人材越难得。

jvm会自动GC回收,引起短暂的挂起,c++内存是编码自己控制的,不会存在这种情况,军工类对实时要求极高,不允许有误差,这是一个原因。还有系统底层一般会用C语言,这也是一个原因

微软公司,苹果公司,谷歌公司有没有让全世界系统瘫痪的能力?

平心而论这三家公司都属于垄断性质,都是科技公司中巨无霸般的存在,而且已经深入到世界各个范围,也是国内巨头需要需要学习的对象,虽然在正常情况下真要发生战争时候,由于系统属于闭环的,军方网络系统和民用系统完全的两个通道,所以即使发生战争也不可能通过远程控制来做一些事情,企业毕竟主要任务还是盈利为主,而且即使在民用体系里面植入后门的程序,如果在平时背地默默的做事情可能没人会搭理这件事,如果后门被公开化那么基本这家公司就要完蛋无论再强大,俗话讲自作孽不可活。

蓝屏没影响中国民航蓝屏没影响中国民航吗_为什么军工行业不用java,而是选择继续用c++?

现在讲一下这三家公司分别在各个领域的强大之处,微软公司大家认识主要还是windows操作系统,目前微软主要业务windows,云计算,生产力和商务流程等等,而且在市值上重新拉回了和苹果的差距,而且云计算技术所占的市场份额也是越来越大,几乎是海陆空同时存在,真要想搞点破坏全球绝大部分人都开不了电脑,想想都是一件非常恐怖的事情,个人觉得即使在战争年代也未必真的采用后门的方式去搞一些事情,顶多是偷偷在后台收集一些信息。

蓝屏没影响中国民航蓝屏没影响中国民航吗_为什么军工行业不用java,而是选择继续用c++?

苹果一直是科技公司里面的异类,封闭的系统还能赢得客户的认可,可见对产品细节雕琢的认真程度,在PC占有率并不高,主要还是iphone一款手机让苹果彻底打了一个翻身仗,几乎已经是高端手机的代名词,由于封闭倒是能主控整个产业链,所以在性能上一直对安卓系统PK中占据比较明显优势。手机要比PC端的控制更加容易,因为几乎所有的系统都要上网,很容易让手机开不了机,直接切断关联这种杀伤力还是非常巨大。

蓝屏没影响中国民航蓝屏没影响中国民航吗_为什么军工行业不用java,而是选择继续用c++?

谷歌公司现在不单单是一家搜索引擎公司,现在业务规模也非常庞大,特别是安卓系统在移动端几乎已经是垄断存在,搭配chrome浏览器让谷歌的市值一直居高不下,由于安卓属于开源系统,真还没做点私有的事情,毕竟代码都是透明的。

这三家公司都有一个共同特点, 不仅仅是技术强大那么简单的事情,把握生态链系统脉搏非常准确,具备资金实力的公司在全球范围不在少数,真要做到如此大生态链在全球范围内屈指可数,老美科技基础实力领先别的国家不是一句空话,在国内还对计算机系统没有概念的时候,人家已经把操作系统干出来了,在国内即使有这种也没人做这事,毕竟研发人员没有人,这就是差距,只能眼睁睁看着别人占领市场,国内很多人觉得现在国家强大了,但在真正科技这块差距还是非常大,需要有更多的公司在创新上投入力量。

蓝屏没影响中国民航蓝屏没影响中国民航吗_为什么军工行业不用java,而是选择继续用c++?

承认差距不是什么丢人的事情,快速的山寨完成基础阶段,然后快马加鞭的赶上,就目前这个阶段真要出现极端情况注定被卡脖子,落后就要挨打这是永远不变的真理。

希望能帮到你。

答案是:肯定有的,但是微软肯定不敢明目张胆的去搞某个国家,一旦消息出来了,可以说没有任何一个国家敢用他们的系统了,那他们怎么赚人家的钱!

但是我国肯定有备用方案!一些重要部门都用自己开发的系统,还有备战系统。

从技术能力上而言,三家公司绝对可以实现,原因很简单,如果你用的操作系统都是人家开发的,他们当然有能力来控制自己的操作系统。但是从企业的角度而言,企业本身未必会选择这么做,因为这样就是自毁前程,没有人会再用一个可能会威胁自身安全的产品,这也是为什么之前苹果没有配合FBI将犯罪嫌疑人手机破解来追查犯罪人员信息的原因。

当然,只从企业的角度去分析,还是不够的,毕竟如果一个国家受到威胁,或者可能遭受战争的前提下,面对国破何谈家存的背景下,企业本身的发展可能就不会那么重要了。这也是为什么这些年我们国家一直在研发自主的操作系统。就是想从根本上摆脱这种束缚和潜在的威胁。但是一个操作系统的研发并非易事,系统是运行在硬件设备上的,那么和硬件的交互就要有完整的驱动协议,而Windows , Mac OS,Linux, Unix等操作系统已经发展数十年,基本占领了全世界90%以上的市场,这也就意味着所有硬件厂商都会配合这些操作系统去完善自身的硬件。开发一套新的操作系统,是否会有硬件厂商配合系统的底层接口本身就是一个问题。除非我们有自主的硬件厂商,但是计算机最核心的芯片基本都是 英特尔 的,所以国家这些年也在加大自主芯片的研发。所以从整体上看,自主操作系统的研发不只是一个操作系统软件平台的研发,其实涉及到的方面是很多的,而且结构中很多重要的核心因素我们没有自主的产品,所以研发自主操作系统还是需要步步为营,稳扎稳打。