随着时间推移,新的开发语言如雨后春笋一般的涌现出来,程序员们通过这些开发语言找到了更新、更简单的工作方法,其中不乏少数开发语言逐渐成为了技术社区的主流。这一进步带来的其中一个不幸的副作用是一些旧的开发语言因为被取代而进入了历史的垃圾堆。如果一门语言不能随着时间的推移而保持其价值,它要么逐渐变得默默无闻,要么成为更新、更好的语言。

最近,我们从COBOL语言的发展中,重新了解了这个过程的详情。在20世纪60年代和70年代,它曾经是许多美国银行和政府机构应用系统的首选语言,但它最终被更简单、更高效的开发语言所取代。虽然用COBOL开发的系统仍然存在,但当一些政府机构计划彻底更新他们的应用系统时,它们会发现已经几乎没有能够完全掌握COBOL语言的开发人员了。

就像COBOL的热度消退一样,现在我们接触到的一些开发语言也可能会在随后的时间中会慢慢的消失。我们在这篇文章中将一起看一看5种有可能会在未来10年后消失的开发语言。我们明白,其中有些语言可能是部分人的心头好,所以在正文开始前,还是希望大家尽量客观的看待。

1. Ruby

Image for post

Ruby在1999年发布后立即受到热捧,程序员们印象最深的就是它能让他们快速构建应用程序。不久之后的2004年,随着Ruby on Rails框架发布,Ruby也一下登上了程序员最喜欢的语言列表中的首位。它在聚光灯下度过了坚实的十年,但即便如此,因为种种原因,它最终出现在本文的列表中。

那为什么我认为Ruby可能会消失呢?导致其衰退的一个因素是速度。它的应用程序往往比许多其他流行语言开发的执行效率更差,例如:Javascript、Go,甚至Python(在某些框架下)。Ruby相比其他开发语言,在很多方面都停留在过去。例如,让Ruby on Rails成为其时代奇迹的MVC架构,现在被许多程序员认为是过时和笨重的架构。

2. Visual Basic

考虑到Visual Basic可能是最不受欢迎的编程语言之一,把它放在这个列表中也是合乎逻辑的。Visual Basic由微软在1991年发布,作为构建Windows的主要工具,也确实实现了这一目的。但随着2000年C#的发布,由于C#更简洁,提供更广泛的功能,也更适合云和移动开发(它们在当前市场中扮演着重要角色)等优点,许多程序员正式放弃VB,转而使用C#,更重要的是,似乎就连它的创造者也已经放弃了它,因为微软表示,他们没有进一步发展它的计划。

3. Haskell

Haskell 是另一个古老的语言,它是于几十年前所发布的语言。对Haskell来说,它的时代可能很快就要结束了。Haskell主要被研究人员和学者使用并用于构建程序,这些程序为他们的工作进行复杂的换元和推演,所以通常它被认为很难学习。由于学习Haskell的难度较高且活跃用户的数量非常有限,导致他的使用范围非常窄,而未来使用的开发人员可能会进一步减少。尽管Haskell的上一个稳定版本是在2010年发布的,但这超长的维护周期也无济于事。

4. Perl

佩尔

与Visual Basic一样,使用Perl的大部分开发人员都不喜欢它。当Perl在1987年被发布时,它被誉为是一种每个人都很容易掌握的语言(无论他们是编程初学者还是专业人士),并且可以用于多种用途。然而,在1991年,Python的出现破坏了Perl统治世界的计划。

虽然Python的语法更庞大、更严格,但这使得用户用脚本实现目标变得更加直接,这也是一个游戏规则的改变。Python在本世纪头十年开始使Perl逐渐失色,并成为初学者的首选语言。在过去的15年中,Perl使用率一直在稳步下降,我们没有看到任何东西会在短期内阻止这一趋势。

5. Objective-C

目标文件

Objective-C与苹果的关系就像运动相机与GoPro的关系一样紧密。这两种工具几乎都是由一家公司独家使用。尽管Objective-C用于MacOS、iOS和OSX开发已有二十多年的历史(1996年至今),但现在很少有程序员再使用这种语言。这一切都要归功于Swift。

Swift由苹果公司开发,于2014年正式发布,旨在成为MacOS、iOS和其他几个与苹果相关的平台的新开发语言标准。虽然Obj-C在很大程度上是基于复杂的C语言,但Swift则有效地去掉了这些元素,同时添加了全新的功能,如自动内存管理、对Cocoa Touch的支持和类型安全集成。

Swift已经成功地实现了较高的稳定性和用户采用率,而苹果公司仍在重写Obj-C库,以使旧语言的支持者更容易过渡。尽管关于这两个语言哪一个更好仍有不少的讨论,但以目前的趋势表明,Objective-C的前景会逐渐暗淡下去。

结论

虽然上面列的几种开发语言似乎都在走下坡路,但它们的消失并不是板上钉钉的事。如果它们的创造者和社区投入足够的精力更新、维护它们,添加新的具有吸引力的功能和更多有用的特性,它们就可能会重新热闹起来。

如果你正在考虑开始学习一个开发语言,那么你有许多因素需要考虑。而如果你只是想把编码作为一种爱好来追求,你只要听从自己的内心,选择最让你兴奋的那一个,即使它已经不再被广泛使用或正在被淘汰。但如果你正在从事开发的工作或计划通过某一种语言进入软件开发行业,你不应该只选择最时髦的选择,或者被炒作出的开发语言,你要综合通过功能、市场需求和可见的未来发展潜力几个角度去评估,这样会更好。