恭喜遥三运载火箭发射成功,浅谈java在军事方面的运用!

恭喜长征五号遥三成功发射!来聊聊军事系统都是用什么语言编写的

长征五号运载火箭,是中国运载火箭升级换代的重要工程,作为中国首型大推力无毒无污染液体火箭,创新难点多、技术跨度大、复杂程度高。

这次遥三的成功,意味着中国具备发射更重航天器,或将航天器送向更远深空的能力,是实现未来探月工程三期、首次火星探测等国家重大科技专项和重大工程的重要基础和前提。

接下来随便聊一点军事系统运用了什么编程语言

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://www.cnblogs.com/heqingxiaohuo/p/12121893.html

时间: 2024-10-04 11:26:46

恭喜遥三运载火箭发射成功,浅谈java在军事方面的运用!的相关文章

恭喜长征五号遥三运载火箭发射,浅谈编程语言在军事方面的运用!

恭喜长征五号遥三成功发射!来聊聊军事系统都是用什么语言编写的长征五号运载火箭,是中国运载火箭升级换代的重要工程,作为中国首型大推力无毒无污染液体火箭,创新难点多.技术跨度大.复杂程度高.这次遥三的成功,意味着中国具备发射更重航天器,或将航天器送向更远深空的能力,是实现未来探月工程三期.首次火星探测等国家重大科技专项和重大工程的重要基础和前提.接下来随便聊一点军事系统运用了什么编程语言1. ADA语言ADA语言是美国军用标准计算机语言,不光是导弹的飞控软件,在其它国家的相关军事领域也应用很多,据称

浅谈 Java Printing

浅谈 Java  Printing 其实怎么说呢?在写这篇博文之前,我对java printing 可以说是一无所知的.以至于我在敲文字时, 基本上是看着api文档翻译过来的.这虽然看起来非常的吃力,但是我相信,有道大哥不会辜负我的.嘻 嘻! Java Printing 技术,也就是我们平时所接触的打印,只不过是说可以用Java实现而已. 一.Java Printing 打印简介 Java Printing API能够使java应用程序实现相关的打印功能,如: 1.打印所有 Java 2D 和

浅谈java异常[Exception]

本文转自:focusJ 一. 异常的定义 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常.绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败.之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意. 记得当初学习java的时候,异常总是搞不太清楚,不知道这个异常是什么意思,为什么会有这个机制?但是随着知识的积累逐渐也

浅谈Java中的hashcode方法 - 海 子

浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现. 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCode方法. 一.hashCode方法的作用 对于包含容器类型的程

浅谈java类集框架和数据结构(2)

继续上一篇浅谈java类集框架和数据结构(1)的内容 上一篇博文简介了java类集框架几大常见集合框架,这一篇博文主要分析一些接口特性以及性能优化. 一:List接口 List是最常见的数据结构了,主要有最重要的三种实现:ArrayList,Vector,LinkedList,三种List均来自AbstracList的实现,而AbstracList直接实现了List接口,并拓展自AbstractCollection. 在三种实现中,ArrayList和Vector使用了数组实现,可以认为这两个是

浅谈Java中set.map.List的区别

就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. JAVA集合主要分为三种类型: Set(集) List(列表) Map(映射) Collection 接口 :Collection是最基本的集合接口,声明了适用

浅谈JAVA中的“hashcode()”方法

浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCode方法. 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现. 一.hashCode方法的作用 对于包含容器类型的程

!! 浅谈Java学习方法和后期面试技巧

浅谈Java学习方法和后期面试技巧 昨天查看3303回复33 部落用户大酋长 下面简单列举一下大家学习java的一个系统知识点的一些介绍 一.java基础部分:java基础的时候,有些知识点是非常重要的,比如循环系列.For,while,do-while.这方面只要大家用心点基本没什么难点. 二.面向对象:oop面向对象的时候,偏重理论,相信这方面的文章也很多,大家可以多看看,在这就不说了.重点掌握面向对象的三大特征和基本原理. 三.java核心一:这方面主要偏重API,所以在学习了这章的时候,

浅谈java线程池

熟悉java多线程的朋友一定十分了解java的线程池,jdk中的核心实现类为java.util.concurrent.ThreadPoolExecutor.大家可能了解到它的原理,甚至看过它的源码:但是就像我一样,大家可能对它的作用存在误解...现在问题来了,jdk为什么要提供java线程池?使用java线程池对于每次都创建一个新Thread有什么优势? 对线程池的误解 很长一段时间里我一直以为java线程池是为了提高多线程下创建线程的效率.创建好一些线程并缓存在线程池里,后面来了请求(Runn