十年后可能消失的五种编程语言
译者 |王坤祥
策划 |小智
本文作者从自己的观点出发,介绍了未来 20 年内可能消失的五种编程语言,并给出了具体的原因。最后对想要学习编程的初学者给出了学习建议。
随着时间的流逝,程序员们发现了更新、更简单的工作方式,新的编程语言如雨后春笋般出现,但只有少数编程语言能成为社区的新宠。这种进步的一个副作用是一些古老的编程语言必然会跟历史一样被人们遗忘。如果一个编程语言无法随着时间的推移提升其价值,那么它的用户群终将会流失,并逐渐淡出人们的视线,或者成为更新一代编程语言的基础。
最近,古老的COBOL 编程语言上了热搜。在 1960 年代和 1970 年代,它曾经是许多美国银行和政府机构的首选的编程语言,但最终被更加简单有效的编程语言所取代。但是,使用 COBOL 构建的系统仍然存在,当一些政府机构发现他们需要通过更新代码来全面改革失业系统时,才发现业内没有几个开发人员可以熟练使用该编程语言。
沧海桑田,COBOL 早已物是人非。我们当前的许多编程语言也注定会有相似的下场。本文中,我们将分析未来 20 内最终会消失的 5 种编程语言。我知道这可能会伤害到那些正在使用这几个编程语言的程序员的内心,所以在开始介绍之前首先声明下这只是我个人的看法和预测。
1Ruby
Ruby 在 1999 年发布后立即受到程序员们的热捧,它能够快速构建应用程序的特性给程序员留下了非常深刻的印象。紧随其后,备受欢迎的 Ruby on Rails 框架于 2004 年发布,由于 Ruby 和 Rails 这两个名称在当时几乎成为了同义词,因此 Ruby 很快地被推到了程序员最喜欢的编程语言排行榜首位。它经历了一个坚实的十年,稳居编程语言排行榜前列,一度成为众人瞩目的焦点,但是最近的十年它并不好过,所以 Ruby 纳进了我的淘汰清单列表。
为什么 Ruby 会逐渐消退呢?导致其排名下降的因素之一是其执行速度。由它构建的应用程序运行速度往往比其他流行的编程语言,比如 JavaScript、Go 和 Python 构建的应用(在某些框架下)运行速度慢。同时期下,后三者已经发展到可以满足当时的需求,而 Ruby 在很多方面一直在原地踏步,没有什么进步。例如,让 Ruby on Rails 名噪一时的 MVC 架构在现在被很多编程人员看来是笨重和过时的。
2Visual Basic
考虑到 Visual Basic 是公认的程序员最不喜欢的编程语言之一的事实,将它包含在淘汰列表中是无可厚非的。它于 1991 年由微软发布,作为构建 Windows 的主要工具,确实实现了此目的,但多年来经常出现问题。程序员使用 VB 进行开发的热情差距很大,随着 2000 年 C#的发布,这种差距逐渐进一步扩大。由于 C#更加简洁,提供了更广泛的功能,并且更适合于云服务和移动开发(在当前市场中扮演着重要角色),因此很多开发人员都放弃使用 VB 转而投向 C#怀抱。最重要的是,似乎它的创建者也都无情地放弃了它,因为微软曾表示他们没有进一步发展它的计划。
3Haskell
Haskell 是另一个古董级别的编程语言,它于几十年前创建,在世纪之交前一直被使用。不幸的是,对于 Haskell 来说,属于它的时代很快就要结束了。研究人员和学者大多将 Haskell 用于构建程序,以对其工作进行复杂的排列和外推计算,普遍认为它很难学习。学习路径困难必然导致非常有限的活跃用户,而 Haskell 的上一个最新的稳定版本是在 2010 年发布,这对于促进它本身的发展无济于事。
4Perl
与 Visual Basic 命运一样,Perl 不被大部分使用它的开发人员所喜欢。在 Perl 于 1987 年开始流行时,它被誉为是适合任何一个人的编程语言,无论你是编程的初学者还是专业人士都可以使用,同时还被宣传可以用于各种各样的场景。但是,1991 年 Python 的出现,彻底粉碎了 Perl 主导编程世界的幻想。
尽管 Python 的语法相比 Perl 稍显繁琐,更加严格,但 Python 让用户使用脚本实现目标的过程变得更加简单直接,这改变了当时的游戏规则。Python 在 2000 年代开始让 Perl 黯然失色,并一度成为编程入门的首选语言。在过去的 15 年中,Perl 的使用量一直在稳步下降,我们看不到任何它将停止下滑的迹象。
5Objective-C
Objective-C 与 Apple 的关系类似于运动相机与 GoPro 的密切联系——两者都是他们所属公司专用的工具。尽管 Objective-C 已经在 macOS、iOS 和 OS X 开发中使用了二十多年(1996 年至今)的时间,但如今已经很少有程序员在使用该语言,因为 Swift 横空出世了。
Swift 由 Apple 构建并于 2014 年发布,旨在成为 macOS、iOS 及其他几个 Apple 相关平台的新编码标准。Obj-C 在很大程度上是基于复杂的 C 语言创建的,而 Swift 有效地删除了这些复杂的元素,同时增加了一些新的功能特性,例如自动内存管理,对 Cocoa Touch 的支持以及类型安全的集成。
Swift 设法实现和维护了较高的语言稳定性和用户采用率,因为 Apple 公司仍在坚持重写 Obj-C 库,以使旧语言的使用者可以很容易地进行过渡。尽管仍然有很多关于这两种选择哪个更好的讨论,但当前的趋势表明,Objective-C 终将被淘汰。
6总 结
尽管上述提到的语言似乎都处于下降趋势,但不能保证它们最终一定会消失。如果他们的创造者和社区投入足够的精力来更新和维护它们,添加新功能以及有用的特性,这些编程可能会卷土重来,恢复生命力。但事实是广大程序员更有可能继续涌向更新更好的选择。
如果你正在考虑开始学习哪种语言,那么有许多因素需要考虑。如果你只是将编程当做一种兴趣爱好,你可以聆听一下自己内心并选择最能激发你兴趣的那个来学习,即便所选的编程语言不再被广泛使用甚至面临淘汰。另一方面,如果你正在从事编程相关的工作,那么不应该只选择最流行的编程语言,也不应该赌一把选择未来可能会成为最流行的编程语言。而应该通过仔细对比各个编程语言的功能特性,市场需求以及可见的未来增长潜力等因素后做出选择,这才是明智之举。