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