如果用编程语言参加战争,哪门语言才是程序员的最强武器?

自从计算机问世,各种编程言语也随之降生,作爲程序猿,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 软件所用编程语言的介绍:

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

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

本文来自企鹅号 - 向往飞翔的蒲公英媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏诸葛青云的专栏

为什么C++比C要麻烦?程序员这样回答,终于知道他为什么单身了

同样衍生出来的还有一个小故事:情人节,有人看到C一个人喝酒,便问:你的好哥们C++、Java、Python他们呢?

540
来自专栏微信公众号:Java团长

BATJ等公司必问的8道Java经典面试题,你都会了吗?

我在 Oracle 已经工作了近 7 年,面试过从初级到非常资深的 Java 工程师,且由于 Java 组工作任务的特点,我非常注重面试者的计算机科学基础和编程...

771
来自专栏风口上的猪的文章

.NET面试题系列[0] - 写在前面

经过了四年的C#开发工作,我除了获得到的offer之外,还面试失败或拒掉了不少offer,加起来面试的次数至少有30次。这些面试有质量很高的,也有泛泛而谈的,不...

892
来自专栏java一日一条

程序员面试技巧总结

热爱技术。表达你对你所做的一切感到骄傲,你对自己的选择充满自信,你对语言和工作流有着自己的看法。

522
来自专栏GopherCoder

『No24: 编写可读代码的艺术(1)』

除了本职工作,还有点幻灯片演示设计的爱好。随着编写代码的增多,制作的的幻灯片越来越多,越来越意识到,很多事物都存在相通性。

892
来自专栏企鹅号快讯

用编程语言参加战争,谁会是最强武器?

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

2177
来自专栏PPV课数据科学社区

Eric Raymond 对于几大开发语言的评价

来源:孟岩 英文:Eric Raymond 链接:blog.csdn.net/myan/article/details/1923 【译注】:Eric Raym...

3446
来自专栏程序人生 阅读快乐

编写高质量代码:改善Java程序的151个建议

在通往“Java技术殿堂”的路上,本书将为你指点迷津!内容全部由Java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面对J...

761
来自专栏博客园

设计模式学习---策略模式

最近在看"Head First 设计模式"这本书,便想将自己所学的记录下来以加深理解,文中肯定有许多不足之处,请各位前辈们指出.

934
来自专栏北京马哥教育

从入门到上手,如何快速学会Python?

因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一。在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言。 风靡的另一个原因...

33011

扫码关注云+社区