查看原文
其他

2022 年或以后注定消失的五种编程语言

InfoQ 架构头条 InfoQ 架构头条 2022-03-17
作者|Sabrina Carpenter 译者|马可薇 策划|辛晓亮

所有会编程的人都会有自己心仪的语言,有的是因为学习的时候就用的这个脚本语言,有的是因为自己掌握某个语言速度飞快,或者只是因为有的语言非常适用于自己的开发环境。

人们会出于各种原因偏好某种语言,有的时候这些语言也可能会逐渐淡出人们的世界,无论是制造它的公司放弃了后续维护,还是大多的开发者出于各种原因放弃继续使用。而其他在各个领域中长盛不衰的语言,比如 C 语言,经受住了时间的考验。

所有的编程语言都会有自己的生命周期,并最终会迎来自己的终结。在本文中,作者将列出五种前路无光的编程语言,当然这也是根据作者自己的开发经历总结出的,欢迎大家理性讨论。

1 Ruby

1995 年,在日本计算机 Yukihiro Mori 上开发的 Ruby 语言,常常被评价为世界上最容易学习的语言之一,它是新技术的进步,是前途光明的。

Ruby 将用户友好的可用性与高端的技术深度结合,成就了它自诞生起日益壮大的用户社区。这门编程语言在易于上手的同时,也能为各类业务中数量繁多的应用程序所服务的特点吸引了无数的开发者 。

虽然大多时候人们对 Ruby 的印象仅限于网页开发相关的软件程序,但它其实也可以用于开发其他各类的软件系统。它的另一特点,“跨平台”,则是体现在其在各类操作系统及平台上的良好兼容性,其中不乏 Windows 及 Linux 等这类主流 OS。

那么 Ruby 到底是什么,以及它究竟是如何被称为是编程语言的呢?

虽说 Ruby 主要还是一个面向对象的软件应用,但它还是具备完成各类编程任务的能力,比如说函数式编程。这个开源系统的创造者在参考了 Perl、Eiffel、LISP 等语言后,开创了一门全新的语言,Lisp。

操作系统是一种借助软件应用和数据库,将现实世界中的事物投射入虚拟化世界的手段。类则是一种提供在编程的环境中,创造这些事物的抽象框架。一个类可以包含多个实例,每个实例中则包含有用于定义其他类中活动的方法,以及内部变量和专属属性,用于被其他类的实例所调用。

对于想要快速且轻松学会一门编程语言的人来说,Ruby 或许是他们最好的选择,这都要归功于该语言在简单和产出方面的强调。此外,Ruby 不仅仅完全免费,还允许用户自由使用、修改和克隆,只要不以任何方式修改抄袭,几乎没有任何的限制条件。

毫无疑问,Ruby 是个非常优美的语言。但作为一个以结果为导向的计算机语言,Ruby 实际上也只能传输特定的数据类型,而这个特定的数据类型还是专门针对 Ruby 使用者所设计的。鉴于 Ruby 在处理上能力的限制,它能做的其实并不多。另外,对于部分用惯了 C 类语言的开发者来说,可能会非常不习惯 Ruby 的语法。

除此之外,出于解释型的原因 Ruby 的速度经常会有点慢。举例来说,推特用 Ruby 构建了很多东西,但最终都因为其过低的效率而惨遭抛弃。这大概就是 Ruby 被宣判死缓的原因吧。

2 Visual Basic .NET

在 Visual Basic 出世之前,曾经还有过一个叫 BASIC 的编程语言。这门由 Thomas Dennis Kurtz 和 John George Kemeny 于 1966 年发明的语言,可以说是 Visual Basic 的前身了。它出现的目的是为让对编程感兴趣的,非科学专业的大学生们能够更容易地掌握程序设计。自 20 世纪 80 年代初诞生以来,BASIC 在程序员中备受欢迎,并不断发展进步,形成了基于 MS-DOS 的变体,比如 GW-BASIC 等等。

然而,尽管 Visual Basic 版本众多,但对于它的用户来说,最常用的一直都是 Visual Basic 6.0。与其他环境相比,Visual Basic 6.0 的特点在于其相对简单的表格构建方式,拥有较大灵活性和 OCX 部件和 ActiveX DLL 等等一系列的编程工具。

虽然我们的确可以设计一个不依赖 dll 的可执行文件,并让它完美运行。但其实程序的本身可能就已经打包好了安装所需要的文件,再说,这种方式自从 Windows 7 开始就已经是老古董级别的了。

在当年微软决定要放弃 Visual Basic 6.0,并让它给即将在 2011 年发布的 VisualBasic .NET 让路时,6.0 还是可以用的。然而,把所有东西迁移到这个全新版本的 Visual Basic 似乎是件颇为困难的工作。

也因此,微软在 1991 年从 Alan Cooper 手里买来了一个图形设计概念,并将其添加到 BASIC 的语法之中。当时 Cooper 用的编程语言还不是 BASIC,但前任微软 CEO 比尔·盖茨告诉他,BASIC 是世界上最容易学的语言,让他转投 BASIC 的怀抱。最终,Visual Basic 应运而生,并拥有对象和高级的编程技术。

但在那之后,Borland 公司的一位负责 Delphi 语言的大佬,Anders Hejlsberg,跳槽到了微软并创建了 C# 的项目。C# 与 Java 有很多相似点,并在一段时间后成为了微软新的语言标准。而在 C# 发布的同时,微软的程序员们发明了 VisualBasic .NET,一款拥有 BASIC 语法但代码风格仿效 C# 的语言。

C# 和 .NET 的名气都不小,但 C# 的名声要更胜一筹,这似乎导致 Visual Basic 注定要没落。

3 Adobe Flash

Adobe Flash 可以说是一款非常经典的编程工具了。作为最初的 Flash 教学工具,Adobe Flash 将 svg、位图、音效、动作相结合,让用户可以在互联网上创建出各式各样的动态多媒体内容。

Flash 的开发商其实是一家名叫 FutureSplash 的软件公司,并且 Flash 一开始也不叫 Flash,而是叫 FutureSplash Animator。在这家公司于 1996 年被 Macromedia 收购时,公司里只有为数不多的几名员工,而这个矢量动画程序也被改名为 Netscape Flash,并一直沿用到其 2005 年被亚马逊收购。至此,这个程序的名字最终定为 Flash。

可以说,Adobe Flash 的国际影响力都应归公于它的开源框架。它让影片有了回放的功能,让诸如油管的网站得以展示可交互素材。因其广泛的声誉影响,所有利用该程序创建的素材在行业中都被统称为“Flash 动态图形”。

无论是在个人电脑还是流媒体中,Adobe Flash 在多媒体数据的处理上都非常的有用。它是为各类网站和基于计算机的应用程序中开发视听内容的先驱者,有了它这一切才成为可能。

Adobe Flash 为用户体验设计师们提供了多渠道的免费创作平台,让他们可以为消费者们开发出各类直接或间接的多媒体交互机制,让艺术作品和技术代码在一个应用程序中相辅相成。除此之外,它还允许用户创建新的视觉效果,并将其于融入已有的元素之中。所有的操作和动画展示都只需基础的计算机程序,就连音频素材的插入也非常简单快捷。这一系列的优势和因素都让 Adobe Flash 在海报,甚至是电子游戏等领域都能大放异彩。

视频文件或文件夹的播放在 Adobe Flash 的帮助下变得常见,让人们可以查看并播放各种类型的多媒体素材。作为 Flash 程序和操作系统之间的接口,Adobe Flash 可以在几乎任何设备上使用,无论是个人电脑、移动电话、智能手机、笔记本电脑等等各类的电子产品。人们可以从 Adobe 的官网上免费下载适配各类操作系统的软件,包括但不限于苹果 iOS、谷歌安卓、微软 Windows,以及 Linux。

它还为我们带来了各式各样的 Flash 游戏。借助 Adobe Flash 所提供的技术,人们可以在各类线上平台享受视频游戏所带来的快乐。并且这项技术还确保了人们浏览访问的过程平滑顺利,除非说你所使用的设备中没有安装过 Flash,才会有一个通知弹出,告知你要先去官网下载 Adobe Flash 才可继续浏览网页。

除此之外,Flash 动画的渲染也与 Adobe Flash 密不可分。Adobe Flash 让用户可以查看 HTTP 网页里所嵌入的各类文章或视频中的 Flash 动画,这些素材还会根据用户所使用的操作系统和网页浏览器的不同,随时通过互联网获得免费更新。

但要论前途暗淡,我们说的其实是 Adobe Flash 平台,而不是编程语言。敲响 Adobe Flash 丧钟的大概是史蒂夫·乔布斯。这一切都发生在乔布斯还在苹果的时候,从他选择不在苹果的移动设备中支持 Flash 语言的那一刻起。

如果有个全新的平台(比如苹果平板)选择不支持 Flash 应用,那么开发者们就得想办法用 JavaScript、HTML5 或者任何其他苹果支持的平台上开发应用,这也就导致了 Flash 虽然还在不断更新换代,但还是注定要 GG。

4 Perl

编程语言 Perl 是“Practical Extracting and Reporting Language”的缩写,意为实用提取和报告语言。因其是打包了 C、Unix Shell,以及 AWK 系统中的各类组件所编成的语言,Perl 本来只是为在 Linux 系统中运行,虽然现在它在其他的操作系统中也是可用的。

在 Larry Wall 于 1987 年任职服务器管理员期间,为减轻重复工作量,他创造了这门语言。多年以后,这项技术已发展出了各种不同的版本,而其中最新的 Perl 5 也是使用最为广泛的。Perl 是一款自由且开放的编程语言,授权在 GNU 的通用公共许可证下,允许用户不受限制地下载和使用。它适用于各类的操作系统,为广大用户提供了丰富的选择余地。

Perl 主要用于开发基于网络应用的 CGI 程序。按照惯例,所有 HTTP 服务器要执行的 GCI 程序都会保存在一个预先配置的目录里。如果你在电脑里见过一个叫做“cgi-bin”的文件夹,那么所有以 .pl 为后缀的 Perl 文件都可以在里面直接执行,因为这里面保存了 Perl 的解释器。

Perl 可以说是全球最常用的语言之一,在它盛极一时的时代,人们经常会用它开发网络程序,但时至今日,人们更习惯用它来写服务器脚本。与绝大多数的网页编程语言(PHP 或 JavaScript)相比,Perl 作为服务器端脚本语言,是可以直接执行的。为使源代码能够被直接翻译成机器语言,它在执行每一行代码之前都先翻译,因此避免了编译的时间。

这款编程语言最强的一点在于,它可以执行用其他计算机语言所编写的代码或子程序。除此之外,它还利用处理器,让开发者们可以在海量的库和模块中任意挑选;适用于各类数据库管理,支持 SQL 语句查询,并通过 DBI 模块对返回结果进行处理。

另一个常被人称赞的则是,Perl 只有三种数据类型,标量(scalar)、数组和哈希。其中标量是最简单数据类型,通常是指单个数字、整数、文本或者引用,也常常在其他编程语言中出现。一连串的标量可以有不同的处理方式,我们通常将其称作是数组。以特定形式将值键组合的数据形式被称作是哈希,在 Perl 中,值键用标量表示,而类型则是以文本字符串的形式表示。

可惜回想当年,那段所有人都在用 Perl 写程序的日子,只能感叹时过境迁。Perl 的作者似乎是想要把所有的高级功能都一股脑地塞进这个语言里,结果最后只是把复杂程度拉上去了。

最后,似乎是作者也意识到了 Perl 的开发似乎有什么不对劲的地方,当然他并没有站出来公开承认,并在喊停了远在 2000 年就开始的 Perl 6 的开发。但事到如今已经没多少人还想继续用 Perl 了。

5 Delphi

作为一款编程语言,Delphi 最开始是为了能加快基于 wysiwyg 编程技术的软件开发速度而创建的。但说到编程语言本身,我们主要说的还是 Object Pascal,一款在 Delphi 开发平台所支持的 Pascal 软件包中更有用的一个版本。Object Pascal 是面向对象的技术,基于 Visual Basic ,包含基本编程语言都具备的特性,如绑定、多态性,继承等等。

这款语言实际是以二进制汇编的形式创建项目文件,这就意味着计算机可以很直接地理解其代码,不需要像其他计算机语言一样,还需要使用解释器来翻译词汇。

Delphi 是一款高度通用的语言,几乎可以用于任何类型的项目。除了操作系统服务之外,它还可以用于建立服务器与程序的连接、生成控制台程序、与数据库交互、自动化服务器、开发可视化应用程序等等。

它的一大卖点在于其还可以用于构建 DLL,并与其他编程语言进行交互,光是这一点就可以说是超越了其他的各种语言。开发者们在不借助第三方工具的协助下,便可以直接开发出图形交互式组件,甚至是继承了先前曾以 Delphi 开发组件特征的全新控件。

如果说你想在 Delphi 中用可视化编程创建一个表单程序,那么我们首先需要创建出表单中所有的控件,比如指针、标签,以及文本框之类,然后再通过鼠标把这些控件放在表单上。完成之后,控件相关的代码,如何操控这些数据的元素,再加上指引应用的业务规范,甚至是数据模块都可以自动生成。

但时至今日,Delphi 这款 “Pascal+Object”的编程语言,大概已经在消失的边缘了。Embarcadero 曾试着拉过它一把,新版本的 Delphi 11 也确实在 2021 年刚刚发布。可能要怪也就只能怪 Borland 方面一系列的战略失误吧。

首先要说的就是这个莫名其妙改名成“Imprise”的操作。然后在发现改名不能改命之后,他们又决定把名字改回去,并突发奇想把数据库工具和编程工具分成两个部分,其中后者被命名为 CodeGear。在这么多的改名事件之后,大家开始怀疑是不是他们内部出了事,不然怎么策略来回变。渐渐的,Delphi 的支持者数量开始下降。

现在 Delphi 的生死大权似乎是掌握在了 Embarcadero 的手上,全看他们能不能将它盘活了。但目前看来,在编程语言这个圈子里,Delphi 已经到了风烛残年的地步了,或许是时候开始考虑换个平台了。

原文链接:

https://medium.com/codex/5-programming-languages-that-will-die-in-2022-a09f00fd0d05

今日文章推荐:解读数据架构的2021:大数据1.0体系基本建成,但头上仍有几朵乌云
商汤科技上市:开盘大涨 10%;员工抱怨亚马逊太冷酷:工伤不赔偿,还不让休假;应对 CentOS 停服,龙蜥开源社区提供迁移方案

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存