2021年2月, 编程语言的七国集团峰会在风景优美的Linux庄园如期召开。

C, Java, Python, JavaScript , C++ , C#, PHP 相继入座。

C语言作为主持人,在大屏幕上用一幅图总结了一下近二十年各国的沉浮。

各国代表对C语言的工作纷纷表示赞赏。

C语言说道:我们七国集团已经统治IT界20多年了,历经桌面时代,互联网时代,大数据时代,人工智能时代而不倒,这次会议就是争取把大好局面再维持20年!

C语言随后介绍了本次G7峰会的两大议题。

1. 解决内部争端

2. 应对新编程语言的威胁

第一个议题刚刚开始各方就吵成了一锅粥。

Java率先向JavaScript发难, 指责它不遵守约定,用Node.js向后端发起进攻的恶劣行为。

C#愤怒地举报JavaScript 用Electron 对桌面开发的蚕食。

JavaScript则辩解说C/C++/C#也可以写代码运行在浏览器端中,不信你们去看WebAssembly,还有Java也做桌面开发例如IDEA和Eclipse.....

眼瞅着第一个议题就要打起来,C老大赶紧呼吁各方冷静,要约束各方行为,为了大局不要内讧。

经过一番唇枪舌战, 各方再次确立了自己的势力范围:

  • 桌面开发:C#

  • 前端开发:JavaScript

  • 系统级软件:C/C++

  • 后端开发:Java/C#

  • 大数据:Java/ Python

  • 人工智能:C++/Python

然后大会转入第二个议题,C语言给每个人发了一份报告, 上面列举了最近10年出现的编程新秀。

  • Go : 2009

  • Rust : 2010

  • Kotlin : 2011

  • Elixir : 2011

  • Julia : 2012

  • TypeScript : 2012

  • Swift : 2014

Python代表立刻建议把Elixir和Swift划掉, 因为前者结合了Erlang和RoR,太小众了。后者只在苹果的生态系统中折腾,对G7没啥威胁。

JavaScript则建议划掉TypeScript, 毕竟和自己师出同门,最终还得编译成JavaScript才能运行。

大家纷纷表示同意。

Java 也不甘示弱地要求把Kotlin从列表中划掉,因为那只是一堆语法糖而已,对他没啥威胁。

C#提醒Java不可大意,毕竟Kotlin有Google这么一个大腿, Google 为了摆脱Java API的束缚,和Oracle大打出手,正在力推Kotlin。

Java则坚定地认为Kotlin只是一点点改良,不是革命,成不了气候。

C语言表达了对Julia的担忧,因为他号称将 C 语言的速度、Ruby 的灵活、Python 的通用性、Matlab的数学符号结合在一起,支持并行处理!

Python则不屑一顾,说野心越大失望越大,一个人不可能把所有的好都得了去, 再说了,它主要是面向科学计算的,不用担心。

C脑子中突然闪过一句名言:弱小不是生存的障碍,傲慢才是。

名单上只剩下了Go、Rust。

  • Go : 2009

  • Rust : 2010

  • Kotlin : 2011

  • Elixir : 2011

  • Julia : 2012

  • TypeScript : 2012

  • Swift : 2014

剩下的这两位不可小觑, Rust和C一样贴近硬件,还能解决野指针问题,微软已经表态支持。

Go语言号称互联网时代的C语言,这些年借着云计算的东风,发展迅速, 后端已经有很多系统用它开发了。

刚才热闹的气氛一下子紧张下来,大家都在盘算他们对自己利益的侵犯有多大。

良久以后,Python放了一个大招:“他们侵犯了程序员的人权!”

原因是Go语言把类型定义放到变量名的后面,程序员很不适应,甚至真气逆行。

Rust的概念奇葩,所有权和借用难以被常人所理解,一段简单的代码都编译不过。

(码农翻身注:参见文章《我中了美人记》  《自从我学了Rus,就开始了受虐之旅》)

大家都觉得可行,G7控制着主流舆论,占据道德制高点, 打人权牌轻而易举,这个招数屡试不爽。

Java则持保留意见,因为本家兄弟Scala和Go一样,也是把类型放到后面。

C语言则表示他和Ken Thompson很熟,如果实在不行就考虑招安Go,把G7变成G8。

只不过新人加入会触动现有的利益,需要从长计议。

为期半天的G7峰会胜利闭幕了,参会各方再次划分了各自势力范围,发表了一个重要的宣言。

宣言强调,G7经过多年的发展,非常稳定、成熟、强大,并且已经积累了海量的类库,拥有庞大的生态系统,采用新语言的成本极其高昂,风险极大。

宣言谴责了Go和Rust对程序员人权的侵犯,决定对他们实施为期一年的制裁,希望他们幡然悔悟,及时悬崖勒马。

宣言最后委婉地指出:G7的大门始终对任何人敞开,只要符合G7价值观的语言都欢迎加入。

(完)

后记:本文是看了TIOBE编程语言二十年排行榜,有感而发,周末了,大家乐呵乐呵就行,不必当真。

最后说下我的强烈感觉:“主流的编程语言已经被发明完了”,这种状况也许会持续个10年,甚至20年,直到下一波技术浪潮的来临。