用编程语言参加战争,谁会是最强武器?C语言顿时投来不屑的目光

createh51个月前 (02-01)技术教程17

  自从计算机问世,各种编程语言也随之诞生,作为程序猿,Java、Python和C++是必学的三种编程语言,但有时难免疑惑:这三种语言究竟孰优孰劣?

那么不妨读一读这篇文章,用一种别开生面的方式为你解答——"如果用编程语言参加战争,谁是最强武器?"

Java:轻巧灵便的多面手

  战场上的Java语言就像美国陆战队标配M4A1步枪

  这种轻巧灵便的武器十分贴合Java容易上手的特性,而且威力强劲,在各种战场上都能发挥效用(平台独立和可跨平台赋予Java一次编译、到处执行的特性)各大军队都有配备(是当今应用最广泛的语言之一)还有一个谁也不能比拟的优势(库多!库多!就是库多!)

不过射程和杀伤力偏弱,虽然灵活,但是论攻城掠地还是飞机大炮来的省事儿。

Python:高性能的重武器

  Python被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起,是一种高性能的重武器。

  Python具有丰富和强大的库。应用领域也是非常广泛。而且语言简洁,便于读懂,开发速度快,但因为python属于解释性语言,使用时由解释器解释执行,效率会相对低。

  这玩意儿威力强劲,面对大型的物体的修整也是游刃有余,不过对于一些精细的调优工作,反倒是力有余而心不足。

  所以常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写。

  比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。

C++:功能齐全的大杀器

  其实C++很像瑞士军刀,而且是其中的巨人军刀。

  这把刀什么都有,说明C++是一种功能繁多的语言,能应付各种情况;细致齐全,说明C++是能做细活的语言,但相应过多的工具,也意味着操作更为复杂。

  要是换成战场上的武器,C++估计长这样——

  一看这只在科幻电影里面出现过的造型就知道威力不一般了。C++真的是一种很强大的语言,高性能且灵活(指针,地址,二维指针,指针数组),而C++继承C的简洁、高效的特点。

  提到C++就不能不提到C,C是C++的基础,C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。

  C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作,当然编译效率高也是它的一大优点。

C++对C的类型系统进改革扩充,更加安全也能检查出更多类型错误。更重要的是C++支持面向对象的方法,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。

而这种强大的语言,确实已经在军用领域运用——譬如美国F-35战机的战斗系统

  我们可以看一组数据:

  △ 7% 汇编、5% Ada83、35% C++、53% C

  wikipedia 词条中也有关于 F-35 软件所用编程语言的介绍:

  Much of the F-35's software is written in C and C++ because of programmer availability; Ada83 code also is reused from the F-22.[162] The Integrity DO-178B real-time operating system (RTOS) from Green Hills Software runs on COTS Freescale PowerPC processors.[163] The final Block 3 software is planned to have 8.6 million lines of code.[164]

  可以看到,F-35 用到的编程语言,C/C++占了相当大的比重。

  其实无论武器有多么强大,决定战争胜败的还是使用武器的人;无论编程语言多么的强大,决定程序好坏的也是编程的人。也只有不断强化自身水平,才能更好的驾驭这些的编程武器。

文章来源于,网易号丨奋斗在IT

想要在程序员生涯内有更高的成就的话,最最重要的是尽可能的提升自己的编程能力,并且,与其想着怎么去提升,不如从现在开始动手动脑,如果对于C/C++感兴趣的话,可以关注+私信小编【C/C++编程】有一些视频希望可以帮助到你,学习不怕从零开始,就怕从不开始。

相关文章

编程语言:C语言与Java的细致对比,你知道选谁了吗?

很多同学纠结自己应该学C语言还是学Java,本篇文章带你细致了解C语言与Java的各方面的不同之处,让你能够更全面的把握编程语言!1.Java与C语言各自的优势C语言是面向过程的语言,执行效率高;Ja...

Python超越Java,成为第二编程语言。登顶榜首,指日可待

Tiobe编程排行榜5月的榜单出来了,Python超越Java,成为了第二名。且距离第一的C,也仅有半步之遥了。Java不断下滑,并不令人吃惊。在服务端,Java的竞争对手越来越多,Python、G...

世界排行第一的编程语言:java迎来25岁生日

作为全球排名第一的编程语言,本周末Java将迎来25岁生日。Java起源于1991年的“ Oak”项目,由James Gosling领导。面向对象的Java以其“一次编写,随处运行”的可移植性而闻名,...

2020 年,网络安全方面 5 大值得学习的编程语言

作者 | Andrew Long译者 | 明明如月,责编 | 夕颜封图 | CSDN下载自视觉中国出品 | CSDN(ID:CSDNnews) 无论你是一名准专业人士,安全爱好者还是经验丰富的资深人士...

编程语言世界大洗牌,Python、Java、C++谁将被淘汰?

编程语言的世界就像是一个繁荣的生态圈,每一种语言都有它的生存空间和发展趋势。在这个生态圈中,有些语言如日中天,有些语言正在崛起,有些语言正在逐渐走向衰落。2023年5月的TIOBE编程语言排行榜就像是...

编程语言第一:JAVA——java开发环境

一、JAVA编译运行过程程序员编写完一段代码后一般会经历两个阶段:编译和运行第一阶段编译。我们要通过javac(java语言编译器,全称java compiler)把编写的java 源文件(.java...