那些想要替代 C 与 Java 们的后浪,如今混得怎么样?



前段时间,B 站推出的青年节演讲视频《后浪》在朋友圈刷屏,看着“后浪”们丰富多彩的生活,同事们纷纷自嘲自己就是被拍在沙滩上的那一个,被生活疯狂蹂躏。然而在编程语言界,“后浪”们掀起的波澜则十分有限。与近年来陆续涌现的新兴编程语言相比,那些出道即巅峰、一巅几十年的“前浪”们,似乎还没有要退位让贤的意思。

 

在 TIOBE 公布的最新编程语言排行榜中,排名前十的语言中有 8 个诞生于上个世纪 90 年代,最“年轻”的是诞生于 2001 年的 C#,而位于榜首的 C 语言距今已有 48 年的历史。如果我们再来纵观自 2002 年以来的编程语言排行榜,基本上也还是这些老牌编程语言的身影,尤其是 C 与 Java 这两位“前浪”老大哥的江湖地位一直难以撼动。

 

数十年来,陆续出现的新兴编程语言不在少数,其中不乏一些以取代某种老语言为目的而设计的,那么这些编程语言界的“后浪”们,是否能够追上“前浪”们的脚步呢?

这些 21 世纪以后(2010 年前后)以取代老语言为目的而诞生的新语言中,能够顺利取代“前浪”的语言屈指可数。有的乘着新技术的东风在某一新兴领域成为了行业标杆。有的在与“前浪”的和谐共生中猥琐发育,静待日后的逆袭。当然,更多的是消逝在了历史的长河里,甚至没有泛起一丝涟漪……究其原因,如今仍然流行的语言诸如 C/C++、Java、Python、JavaScript 等等,虽然它们大多数诞生于上个世纪,但它们一直以来也都在针对新时代的需求不断地优化,经历了数十个甚至上百个版本的更迭,很多语言已经与诞生之初完全不一样了。再加上它们数十年来积累的函数库、IDE 、编译器、应用生态等自成一脉的丰富体系,让“后浪”们难以望其项背。

从商业的角度来说,在行业格局没有发生颠覆性变革的时候,现有的热门语言依靠多年积累的庞大用户基础,就足以形成垄断。就算有更好的新语言出现,它们也可以迅速吸收这些新语言的优良特性,就像大企业兼并小企业,或者直接照搬它们优秀的业务功能一样,让自己变得更好,也更容易被大部分开发者接受。所以要想在编程语言界把“前浪”们拍在沙滩上,“后浪”们要走的路还有很长很长。