恭喜长征五号遥三成功发射!来聊聊军事系统都是用什么语言编写的
长征五号运载火箭,是中国运载火箭升级换代的重要工程,作为中国首型大推力无毒无污染液体火箭,创新难点多、技术跨度大、复杂程度高。
这次遥三的成功,意味着中国具备发射更重航天器,或将航天器送向更远深空的能力,是实现未来探月工程三期、首次火星探测等国家重大科技专项和重大工程的重要基础和前提。
接下来随便聊一点军事系统运用了什么编程语言
1、 ADA语言
ADA语言是美国军用标准计算机语言,不光是导弹的飞控软件,在其它国家的相关军事领域也应用很多,据称中国的J-10所用的数字式四余度线传飞行控制系统软件就是用ADA编写的
Ada语言是一种基于对象的高级程序设计语言,不仅具有数据抽象、信息隐藏、高可靠性、可理解性等优点,而且不论从语言自身的开发,还是用其开发应用软件,都充分体现了软件工程思想,所以自Ada语言问世以来,在大型嵌入式系统和军事领域,迅速得到广泛应用,美国和部分发达国家过去将Ada语言作为军用语言,明确规定所有军用软件必须用Ada语言开发,用其它语言开发的已有软件也要求用Ada语言重新开发,至少必须和Ada语言有方便的接口。
Ada语言由于其静态强类型特点,使诸如操作类型不匹配、数据越界、变量非法存取之类的错误在编译时就被发现,增强了程序的可靠性;另一方面,也限制了其灵活性,所有对象在声明时就必须严格定义其类型,而在实际应用中,例如在专家系统工具的开发中,很多对象的类型、取值范围、空间大小等只有在程序执行过程中由上下文推断出。类似于C语言的动态数组、函数指针等类型在Ada语言中也难以实现。Ada语言虽然没有C语言的许多特点,但通过Ada语言提供的各种语法机制,能间接完成C语言所特有的各种功能。
随着其余编程语言的不断发展,在开发,设计等方面,已经优于ADA编程。但是ada的这种设计理念非常的重要,还有就是ada对于软件工程的描述和贡献非常的值得学习。所以ada在现在,大多只用于一种局部系统。
2、C/C++语言
Ada 和 fortran、C++ 同为军标语言。C++模仿了Ada的类属,成为了所谓的模版template,还从Ada模仿了异常处理。C++对C的类型系统进改革扩充,更加安全,也能检查出更多类型错误。更重要的是C++支持面向对象的方法,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。而这种强大的语言C++,确实已经在军用领域运用
用C/C++,Java这样的通用商用编程平台。
F22的飞控软件700万行代码,F35的3500万行代码,有70%是C/C++写的,优点是:一来可以面向社会招标,降低成本。二来可以避免可发展性,维护性差等问题。
3、java
Java在民间使用是很广泛的,但是在军方系统,暂时使用不多。但是因为java的特性,在未来java是会越来越适用于军事方面的。Java语言是简单的、面向对象的、分布式的、健壮的、安全的、是中立的、是可移植的、是解释型的、是高性能的、是多线程的、是动态的。java语言的11个特性,其中的可移植,和安全性,在未来数字化战场中,是必不可少的。
并且java还可用于军事教育和训练,运用java可编写很多联机训练程序,仿真模拟程序,系统对抗等系统,可让不同人员在不同时间地点,都可以进行训练。
4、Python
Python被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
Python具有丰富和强大的库。应用领域也是非常广泛。而且语言简洁,便于读懂,开发速度快,但因为python属于解释性语言,使用时由解释器解释执行,效率会相对低。所以常见的一种应用情形是,使用Python快速生成程序的原型,然后对其中有特别要求的部分,用更合适的语言改写。
相信在未来,或是我们不知道的现在,Ada/C/C++/Java 等编程语言 会有机会在同一个舞台上互相比试。也相信中国会越来越强,越来越好!加油,中国红!
原文地址:https://blog.51cto.com/14623707/2463223