21CTO导读:
在这个技术不断发展的领域,编程语言的兴衰总在不断发生。而JavaScript、Python、Java、C# 和 Rust 现在是现代编程的主要参与者。
计算机编程语言就像人类口语一样,其使用量随着时间的推移而起起落落。事实上编程领域是动态的,需要不断发展以满足数字世界的需求。尽管 JavaScript、Python、Java、C# 等现代语言以及 Rust 等新兴语言占据主导地位,但是也不要忽视所谓的“死亡”或“垂死”的编程语言,尽管这些语言有的已经被掩盖许久,但仍然具有相关性。
在编程语言领域,“死亡”一词通常用于描述不再流行的语言。这些语言不太可能用于新项目、被新程序员学习或被列为招聘信息的主要需求。它们的维护和更新通常会减少,其创建者或开发者社区随着时间的推移会停止维护它们。然而值得注意的是,很多编程语言很少会完全消亡。下面就让我们来探讨一下这些“死亡”或“垂死”的语言们。
COBOL(通用商业目标语言)
COBOL 是在 20 世纪 50 年代末以及 60 年代初开发,旨在满足业务数据处理需求。它以易读性和强大,在政府和金融系统广泛使用而闻名。尽管由于其冗长的特性和程序化编程模型而被一些人认为已经“过时”,但它仍为许多遗留系统提供支持。
全球大部分活跃的金融交易都是用 COBOL 处理的。但是COBOL的新项目数量正在减少,开发者社区也不像其它语言那样活跃,因此对能够维护现有 COBOL 系统的程序员的需求量很大。
Fortran
Fortran 是Formula Translating System,公式翻译的缩写,是由 IBM 于 20 世纪 50 年代开发,用于科学和工程计算。Fortran 以其在数值计算和数组编程方面的出色表现而闻名全世界,至今仍在用于数值天气预报、计算流体力学和计算物理学。
虽然它不是这些领域之外的新项目的常见选择,但它在高性能计算领域拥有坚实的用户基础。
Pascal
Pascal 语言是在 20 世纪 60 年代末和 70 年代初开发的,旨在鼓励使用结构化和数据结构进行良好的编程实践。它在 80 年代和 90 年代被学术界广泛用于教授计算机科学。虽然 Pascal 本身已基本不再使用,但它的后代语言,如针对 Windows 应用程序开发的 Delphi 语言,仍然活跃。
Pascal 的影响也体现在一些现代级语言中,例如 Swift,它采用了 Pascal 的一些语法和约定。
执行 Pascal 编程语言
Visual Basic
Microsoft 开发了 Visual Basic (VB),旨在通过图形环境让初学者轻松学习,开发人员可以通过拖放组件来构建 Windows 应用程序。旧版本的 Visual Basic(VB6 及更早版本)已被 Microsoft 宣布为遗留版本,但该语言的后继者 VB.NET 仍在使用,作为 Microsoft .NET 框架的一部分。
尽管在 .NET 开发中 VB.NET 不如 C# 流行,但它在开发者社区中仍然占有一席之地,尤其是在大量投资于微软技术的企业的内部和企业应用程序方面。
Delphi
Delphi 是由 Borland 在 1995 年开发并发布的集成开发环境(IDE)和编程语言。在传统 Pascal 的基础上,Delphi 加入了面向对象的特性。Delphi 使开发者能够快速创建高性能的 Windows 应用程序。
而尽管 Delphi 在 1990 年代和 2000 年代初期获得了广泛的成功,但其市场份额逐渐被 C# 和 Java 等更流行的编程语言蚕食。
但最致命的,还是公司的几次“神”操作。Borland 自身的衰退和多次易主,对 Delphi 的发展产生了极大的负面影响。Delphi 至今仍在特殊领域有一定的用户,但却逐渐失去了昔日的辉煌,逐步走向没落。
Objective-C
Objective-C 于 20 世纪 80 年代开发,是 Apple 软件生态系统中的重要语言,在开发 iOS 产品方面发挥着关键作用。它的语法源于 SmallTalk 语言。虽然 Objective-C 一度被认为可以在最具影响力的编程语言中占据一席之地,但它一直难以保持对开发市场的控制。其人气的下降可以归因于安全问题和过时的结构。
苹果已将产品开发的重点转向 Swift 14,这可能会在未来几年内使 Objective-C 过时。尽管如此,一些iOS 开发人员仍在继续使用 Objective-C,这表明它具有持久的可访问性。现在,苹果开发人员面临的一个关键问题是在 Swift 和 Objective-C 之间做出选择,这需要仔细考虑。
Perl
Perl 在 Web 开发和网络编程方面取得了成功。然而,它的受欢迎程度正在下降。这主要是由于其资源密集型、内存需求大和可移植性有限。尽管如此,Perl 在 Web 开发和文本处理方面仍然有一定用途。
但随着 Python 等功能更强大、用户更友好的语言的兴起,Perl 面临着激烈的竞争。如果 Perl 的吸引力在未来几年进一步减弱,那也不足为奇。
ActionScript
ActionScript 可能不知道,那 Flash 应该都很熟悉吧?
说到 Flash,你第一个想到的是什么?我最熟悉的当属 4399 小游戏。
如果你现在还有闲情雅致去关注 4399,你会发现,现在已经无法像原来那样,点击即玩。网站只会提示你:没有 Flash 支持。
Adobe Flash,最初由 Macromedia 开发,后被 Adobe 收购。在其巅峰时期,Flash 被广泛用于 Web 动画、在线游戏、广告和视频播放。YouTube 等视频平台在早期也依赖 Flash 播放器来实现视频的流畅播放。
Adobe 于 2020 年底正式停止了对 Flash Player 的支持,这意味着不再更新和发布 Flash Player,且主流浏览器也已经停止支持 Flash 内容。
Flash 退出历史舞台,而 Flash 的脚本编程语言 ActionScript 也就无人问津了。
回想当年,在最初一代的 iPad 上,当我试图像电脑一样打开小游戏时,网站跳转完却只有白屏。移动设备对 Flash 的支持不佳(特别是在 iOS 设备上)算是直接宣告了 Flash 的“死刑”。而随着 HTML5、CSS3 和 JavaScript 的成熟,开发者逐渐放弃了 Flash,转向了这些更实用的技术。
总体而言,ActionScript 正在逐渐淡出历史舞台,转而被更现代、更安全的技术所取代。
CoffeeScript
CoffeeScript 因其能够编译 JavaScript、增强可读性和功能性而迅速流行起来。其他吸引人的功能包括赋值破坏、理解和从 Haskell、Ruby 和 Python 借用的语法糖,使其结构简洁。
然而,在 2013 年至 2018 年期间,CoffeeScript 的受欢迎程度逐渐下降,主要是由于其编译过程和可变性。2018 年之后,这种脚本语言不再像以前那样吸引程序员的注意力。因此,如果您是一名正在考虑学习新技能的开发人员,那么可能是时候放弃 CoffeeScript 了。
Twitter 用户 @morenoh149 对 CoffeeScript 的使用发表评论。(来源 – Twitter)
Lisp
不知道大家有没有看过一本著名黑皮书《计算机程序的构造与解释》?
这本书使用的便是 Lisp 家族的“方言” Scheme 来进行教学。
Lisp 是 1958 年由 John McCarthy 开发的,是一种用于人工智能研究的编程语言。Lisp 以其独特的语法和强大的功能在计算机科学历史上占有重要地位。Lisp 的设计基于函数式编程理念,并引入了许多现代编程语言借鉴的概念,如垃圾回收、递归和动态类型系统。
有个喜闻乐见的说法是,某间谍费尽千辛万苦,终于偷到了某个重要程序的最后一页。很可惜,这个程序是用 Lisp 写的,程序的最后一页,是满满一页的右括号。
事实上,这便是 Lisp 没落的主要原因。Lisp 的复杂语法和相对较少的库支持使得其逐渐失去了吸引力。此外,Lisp 的社区相对较小,更新速度较慢,Lisp 逐渐被边缘化。
Ruby
Ruby是由Yukihiro "Matz" Matsumoto于1995年发布的一种动态、面向对象的编程语言。Matz设计Ruby的初衷是创造一种简单、自然且高效的编程语言,结合了Perl的实用性和Smalltalk的面向对象特性。
Ruby优秀的框架曾让它在2000年代出尽了风头。Ruby on Rails的数千个程序已经在线上得到应用,其中不乏有我们耳熟能详的网站,如Twitter、GitHub。
但是,随着技术的不断发展,Ruby最核心的问题逐渐暴露——慢。Node.js和Python的崛起为开发者提供了更高效的选择。Node.js在处理并发任务方面表现出色,而Python则拥有广泛的库和强大的社区支持。Ruby的受众群体,正在不断缩小。
Haskell
Haskell 是一种较老的静态类型通用语言,借鉴了其他语言,包括 Clean、HOPE 和 Miranda。它特别适合符号计算,在研究和工业中得到应用。它的吸引力在于代码简洁、语言原理稳健、可靠性高。
然而,尽管 Haskell 具有这些吸引人的特性,但它的相关性却在不断下降。它的上一个稳定版本发布已近十年前,而且它的静态类型,加上陡峭的学习曲线,未能让它在首选编程语言名单上保持领先地位。
主流语言正在接管以上语言。
随着时间的推移,编程语言不断进步,以应对从创建基本数据结构到实现复杂算法等各种复杂挑战。这一发展历程的标志是从 Fortran 和 COBOL 等早期语言转变为 Python 和 JavaScript 等现代语言。随着技术的发展,程序员面临着各种各样的语言。
在不断发展的编程语言领域中,稳健性、多功能性和广泛采用使得某些语言始终保持着稳定的需求。随着技术的发展,程序员面临着各种各样的语言,每种语言都有其独特的语法和功能,可满足不同的技术需求和行业。这一历程见证了从 Fortran 和 COBOL 等早期语言到 Python 和 JavaScript 等当代语言的转变。现在,让我们来看看一些已经盖过传统语言风头的主流语言:
JavaScript
JavaScript 被公认为 Web 开发的基石,自 2010 年代以来一直是 GitHub 上的主导力量,尤其是在代码量方面。它实际上是 Web 开发的默认语言。无论您的经验水平如何,掌握 JavaScript 的基础知识都至关重要。
JavaScript 最初是为了满足 Mozilla 的紧急业务需求而开发的。它长期处于 Java 的阴影之下,主要用于前端开发。然而,2009 年 Node.js 的推出预示着一个新时代的到来,将 JavaScript 带入了后端开发领域。
Angular、React 和 Vue 等客户端 Web 开发框架的兴起进一步提升了 JavaScript 的流行度。
Python
尽管 Python 的诞生早于 JavaScript,但它在相当长的一段时间内一直保持低调。然而,其优雅而简单的语法始终具有独特的吸引力。近年来,Python 的受欢迎程度大幅上升,部分原因是西方大学在入门课程中更倾向于使用 Python,而不是更复杂的语言。Python 在多个行业中得到广泛使用,尤其是在后端开发中,并且是一种出色的入门语言。
自诞生以来,Python 一直强调简单性和最佳的开发人员体验,使编程更容易上手。如今,Python 是数据科学和工程领域的领先语言。此外,它在许多其他领域也一直位居前三名。
Java
Java 于 20 世纪 90 年代首次亮相,凭借其开创性的功能给业界留下了深刻印象。尽管 JavaScript 继承了 Java 的元素,但最终还是超越了 Java。由于其庞大的代码库和高需求,Java 仍然是可靠的行业中坚力量,也是求职者的首选。
Java 在相当长的一段时间内享有无与伦比的人气,这主要归功于它的虚拟机:JVM,这是软件工程的精妙之举。然而,由于过去十年的停滞和缺乏创新,尤其是面对容器化和云计算日益突出的趋势,Java 的吸引力有所下降。
C#
C# 于 21 世纪初推出,是一种多功能语言,它从 Java 中汲取灵感,然后改进这些元素以提高语法表达能力。微软的巨额投资使 C# 成为一种功能强大的语言,广泛应用于企业软件和游戏开发。
微软最近对社区的贡献包括许多开源项目,其中包括 C#。凭借不断的创新和改造,C# 目前已成为最广泛接受的商业编程语言之一。
Rust
虽然 Rust 尚未成为主流,但它有潜力成为编程语言的“世界语”。它融合了现有语言的许多特性,拥有 C/C++ 的强大功能和低级访问、Python/Java 的安全性以及 Haskell/ML 的表现力和功能能力。
尽管 Rust 与 C 和 C++ 等重量级语言竞争,但它远非小众语言。微软、谷歌、亚马逊和苹果等科技巨头已开始大力投资 Rust,尽管这些公司传统上优先考虑自己的语言。重要参与者的兴趣会大大增强 Rust 在计算机编程界的地位。
结语
值得注意的是,即使是“已死”的语言也有其用途。例如,维护遗留系统、理解历史代码或了解编程范式和结构的演变。此外,这些“已死”的语言往往影响或催生了其他更现代、更广泛使用的编程语言。
作者:洛逸