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

createh55个月前 (02-01)技术教程44

  自从计算机问世,各种编程语言也随之诞生,作为程序猿,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++编程】有一些视频希望可以帮助到你,学习不怕从零开始,就怕从不开始。

相关文章

编程语言太多?15年最流行古老的Java

根据TIOBE排行榜统计,在过去的一年中,Java以5.94%的增幅成为年度最受欢迎的变成语言(排行榜见文尾)。JavaTIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索...

TIOBE发布4月编程语言排行榜 Java排名第一

[闽南网]- TIOBE 刚刚发布了 4 月编程语言排行榜。 Ruby 曾获得 2006 年 TIOBE “年度编程语言” ,并在 2008 年达到了热度巅峰,但之后就被新语言抢去了光芒,人气大幅下滑...

零基础想转行当程序员,选择什么编程语言最合适?

程序员是个高薪职业,所以很多人在上了几年班以后,觉得自己薪资低,所以就想转行去做程序员。虽然我不建议年龄大的人转行去做程序员,但是如果你真的有兴趣,但是又没有编程基础,想要从头学起,又不知道选择什么编...

为什么大学普遍都教C/C++、Java,而不教Golang、Python、Rust?

教C/C++、JAVA是肯定没问题的,不教Go、Python、Rust绝对没有好处,不过我认为学生可以自学,这是长期以来形成的历史原因。缺少好的教材,老一辈的教授大部分也都没接触过这些新的语言,他们又...

计算机软件换一种编程语言,就不侵权了吗?

随着科技的不断发展,计算机技术也在飞速进步,众多的计算机软件让人们的生活更便捷、工作完成更顺畅、娱乐生活更丰富的同时,在软件开发行业内也诱发了一场又一场的无声的侵权战争。在计算机软件著作权侵权的现象日...