说到底,编程语言只是工具,就像螺丝刀一样。在需要使用圆头螺丝刀的时候,你就不能一意孤行使用一字螺丝刀。你需要根据实际的情况做决定。没有任何一种编程语言能够取代一切,成为终极编程语言。你需要根据当前岗位的要求,选择使用正确的工具。
这样我们就要对计算机编程语言有个大致的了解,将来我们会使用哪些编程语言?
下面,我们首先来看一看这篇论文:《编程语言的能耗》
如果看过上述论文,你可能对下面这张表格不陌生
编程语言的比较
我见过很多次,各大社交媒体平台上都有人分享这张表格,相信几乎无人不知。但是,在深入研究结果之前,我想先分享一些背景信息。
关于论文得出的这些结果,首要问题是这些结果是如何测量的。普遍接受的测量 CPU 性能的方法是基准测试。论文的作者也针对多种编程语言实施了基准测试,他们采用了 10 个不同的编程问题,然后通过这些语言解决这些问题,统一采用了“计算机语言基准测试游戏”中定义的算法。
此外,他们还根据范例对编程语言进行了分类。
然而,性能测试并没有考虑到编程范式,重要的是编程语言的类型:编译型、解释型,还是使用了虚拟机?编译语言、虚拟机语言和解释语言之间存在明显的性能以及能耗差异。因此,他们针对各个类别,采用这些算法进行测试,这种做法是正确的。
Google 的统计结果
C、C++、Rust、Java语言趋势
Java 的使用量似乎超过了其他编译语言,但 Java 本身的使用量在逐年下降。C 和 C++ 的结果非常接近。但是,Rust 的使用量非常低。这可能是因为它是一种新语言。
公平地说,虽然相对于 C 和 C++ 来说,Rust确实很新,但它是2010 年 7 月发布的,已经过去12年了,这期间并没有太大的起伏。这个结果与上述论文给出的结果有很大的不同。
下面,除了Java之外,我们再挑选 4 种不同的语言:Kotlin、Javascript、Python 和 Go。
流行趋势又变了。Python 最初的流行度很低,但如今已成为炙手可热的编程语言。Java 和 JavaScript 排在第二位。如今的榜首是 Python。
Google 平台上,自 2004 年以来,Python、JavaScript、Ruby、Swift 和 TypeScript 的趋势看来最终的赢家是 Python!
TIOBE 指数
TIOBE 是一家专门评估和跟踪软件质量的公司。你可以通过他们的网站了解更多相关信息(https://www.tiobe.com/)。他们的主要服务是测评软件代码库的质量。他们创建了一个名为TQI(TIOBE Quality Indicator,TIOBE 质量指标)指标。
该公司创建了一个编程语言指数,名叫“TIOBE指数”。他们利用这个指数,根据搜索引擎的流行趋势来衡量编程语言的性能。
这与Google流行趋势给出的结果非常接近。然而,根据这个指数,C是排名第二的编程语言,这有点出乎意料。
很明显,在很长的一段时间里,编程语言一直是 Java 和 C 的天下。后来,Python 流行起来,跃居榜首。我们需要注意,关键在于,流行趋势是不断变化的。以前 Java 是第一,如今变成了 Python。
那么,我们应该如何衡量编程语言未来的潜力呢?
未来的可能性
在过去的 10 年里,机器学习和人工智能一直是热门话题。Python 是此类数值运算的最佳选择,因为它有一个很好的 C API。如果你非常注重性能,那么可以将 Python 与 C、C++ 结合起来。在这种趋势下,根据 Google 搜索引擎和 TIOBE 指数的结果来看,Python 是如今使用最广泛的编程语言。
然而,这并不意味着 Python 的地位保持不变。最近,有一些编程语言展现出了更好的性能,很有可能会取代 Python,比如 Rust。亚马逊和 Facebook 已经宣布他们改用 Rust 来开发内部的命令行界面工具。另外,Linux 6.1 版本之后,内核也包含了 Rust。近来 Rust 的呼声很高,如你所见,它的排名在一年之内从第 26 位上升到了第 20 位。
那么,我们究竟该如何预测未来那种语言更流行呢?
答案
很抱歉,虽然我们花费了大量篇幅讨论了这么多,但实际上这个问题毫无意义。我们不是政客,没有人给我们预算或金钱支持这些技术趋势。
那么,我们为什么要不停地比较呢?为什么我们要狂热地支持一种语言或一种技术呢?答案很简单,因为我们懒。我们学习了一种编程语言或技术,就希望围绕这种编程语言或技术建立一个舒适区,然后呆在舒适区内固步自封。
为什么有人如此狂热地支持 C 和 C++?因为他们不想学习 Rust 这样的新语言。而反过来,有人狂热地支持 Rust,是因为他们不想学 C 和 C++。
好了今日分享的希望对你有用~~
溜了~~