2020年,5种将死的编程语言,不要浪费时间去学习了

珠江路在线   2020年4月27日  【 转载 】 

2020年,5种将死的编程语言,不要

浪费
工夫去学习了


1Perl

曾几何时, 几乎每个人都在 使用Perl语言编程 。然而那些 时常 使用的人 渐渐地发现,关于这个Perl语言 仿佛总是有点不对劲 。至少我晓得有这么个叫做“piecemeal”的编程语言,它的制造者 仿佛就只不过将这个 性能堆在另一个 性能上面而已,并没有好好考量将它们 联合在一起 。

事实上,甚至是它的制造者也只能 抵赖这种编程语言是有问题的 。 通过 完全地革新之后,现在的开发工作开始 偏袒于 使用Perl6,这个大约是在2000年的时候 。至于Perl?俨然已经 销声匿迹了!所以 彻底没有必要去学习它了 。顺便说一句,下面这个“Goodbye World”便是用Perl写的:

#!/usr/bin/perl
print “Content-type: text/html ”;
print “Goodbye, world! ”;

上面这个例子会出来一个网页 。现在的Perl,因为 能够作为CGI脚本语言,所以 使用的最 宽泛的是在生成web页面上 。然而为了适应时代的 变迁,我们最好还是将Perl语言“弃之如敝履” 。


2Ruby

关于Ruby, 能够这么唱“十年之后,我不 意识你你不属于我……” 。因为就在10年前,Ruby语言 堪称是流行一时 。它 诞生于1995年,5年左右达到它的鼎盛 时代 。假如你 时常 使用的话,绝对会义无反顾地爱上它 。然而,像我们这些学着C语言 格调长大的孩子在学习Ruby时一般会感觉有点囧 。

下面是用Ruby写的“Goodbye World”:

puts ‘Bye bye, Miss American Ruby! Drove my Chevy to the Levie…’
puts ’2011 was the day that Ruby died, yeah…’

下面是一个用于计算阶乘的例子:

def fact(n)
 if n == 0
   1
 else
   n * fact(n-1)
 end
end
puts fact(ARGV[0].to_i)

我测试了这个例子,来计算1000的阶乘 。下面是 后果(因为篇幅 制约,之间略过了2569个数字):

ruby fact.rb 1000
40238726007709377354370243392300…0000000

从各方面来看,Ruby都很好, 几乎是一片 赞美声……除了Twitter 。在2011年4月,Twitter 声称他们已经将 几乎大 部分的代码都改写过了,以便 无须 使用Ruby和它的web框架——Ruby on Rails,据他们所说这个平台十分之低效 。不过,我想说的是,也正是那一天起,Ruby开始走下坡路, 使用的人数也是越来越少 。


3Visual Basic.NET

十年前,我应聘到一个需求重写大量代码的公司,名字我已经 忘却了,重要工作便是将VB6转换为Visual basic.NET 。大约就只干了一两个月吧,我就跳槽了:真心太 苦楚了 。

微软钟爱于BASIC编程语言的 扩充 能够一路追溯到1991年,那时他们方才 洽购了来自Alan Cooper的一个十分酷(关于那个时候而言)的可视化编程设计 。Alan Cooper初期 使用的是别的编程语言,然而比尔盖茨让他换成BASIC语言,因为盖茨认为那是当时最为 容易的编程语言 。于是乎, 赫赫有名的Visual Basic,就从BASIC中衍生出来——对象这一律念以及新的编程技术问世了 。

后面又 产生了一些很故意思的 事件 。Borland Delphi的制造引领者,Anders Hejlsberg也到微软工作,并且引领 创立了一个新的编程语言——C# 。这种编程语言十分 类似于Java语言 。刚开始的学习兴许有点难,然而一旦上手,你绝对会对它爱不释手 。C#很快就成为了微软的旗舰编程语言 。现在的话,在软件行业中,有众多众多需求C#的工作岗位,不少都是高薪聘用的 。

固然针对自己的CLR运行,微软 创立了C#,然而它的工程师们另外还 创立了一个盖茨深爱的BASIC语言版本,命名为Visual Basic.NET 。该编程语言借用了BASIC语言的语法,然而它的编码 步骤却与C# 类似 。 固然Visual Basic.NET也在进展,然而优胜劣汰总是不可幸免的——大家都 取舍了C#,于是Visual Basic.NET就成为了明日黄花 。

下面是摘自微软网页上的一段Visual Basic.NET程序:

‘ Allow easy reference to the System namespace classes.
Imports System
‘ This module houses the application’s entry point.
Public Module modmain
  ‘ Main is the application’s entry point.
  Sub Main()
    ‘ Write text to the console.
    Console.WriteLine (“Hello World using Visual Basic!”)
  End Sub
End Module

(这里的“Hello World”也 能够替换成“Goodbye World”,这个没关系 。)


4Adobe Flash和AIR

从技术上讲,这些都是平台,而非编程语言 。我之所以将它们包含进来是因为假如你想要 使用它们,就必须安装Adobe自己的ECMAScript版本,即ActionScript 。ActionScript是JavaScript(当前最流行的编程语言之一,因为它能用于全部的阅读器)的一个近亲 。ActionScript在ECMAScript(这是JavaScript实现 标准的官方名称)中添加了一些细节;然而除了Adobe Flash, 其余地方 几乎没有ActionScript的用武之地 。

你 使用Flash不?乔布斯十分 讨厌它,并且也不同意iPhone 使用它 。 而后随着iPhone(以及随后的iPad)的逐步 遍及,Web开发人员只能 创立 无须依赖于Flash的网站 。那些以ActionScript为生的开发人员也只能纷纷下岗 。(我曾经看到过一个Flash开发人员 责备另一个JavaScript开发人员毁了他的职业生涯 。)

Adobe也曾试图通过AIR以求得其编程平台的一线 活力,于是配建了一个用于构建AIR app的工具,称为Flex 。至于AIR,许多人都说,这是一场 苦难 。不过我们当前也不晓得为何Adobe会推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相亲相爱一起进展?

记得有一段 工夫,得益于Twitter平台——TweetDeck(要求消费者在电脑上安装AIR运行时)的 使用,AIR很是红火了一阵子 。那时大约有数以百万计的pc AIR 利用被开发出来,只不过后来Twitter在2011年买了TweetDeck之后,又改写当地代码取代了AIR 。于是乎,AIR的辉煌就到此为止 。

随着Flash和AIR的逐步逝去,Adobe的ActionScript也开始向世界吻别 。下面是一些用ActionScript写的代码示例 。

package {
import flash.display.*;
import flash.text.*;
public class HelloWorld extends Sprite {
  private var greeting:TextField = new TextField();
public function HelloWorld() {
    greeting.text = “Hello World!”;
    greeting.x = 100;
    greeting.y = 100;
    addChild(greeting);
  }
}
}

(你可能会发现这与JavaScript十分 类似,都 使用var、function和new,并且也 使用小数点来 拜访成员变量 。)


5Delphi’s Object Pascal

首先我得向我曾经的好 搭档Delphi 示意歉意,因为我只能发布Object Pascal的“死讯” 。well,Delphi(用于发Object Pascal的工具)历经变迁之后,依旧苟延残喘着(它起源于Borland公司,现在抱着Embarcadero公司的大腿) 。

早先Delphi和它的Object Pascal语言 确切给我们提供了一个良好的工作环境: 固然有点啰嗦,然而编译器很快,并且相比Visual Basic(这里指的是pre-Visual Basic.NET,1995年左右), 创立Windows程序更方便 。

然而它的优势并没有 延续下去 。也很难说是什么缘由,因为这个平台真心是不错的 。就在这时,Borland公司开始在其Delphi的产品线上 支撑C#和C++ 。进展到后来,Borland公司甚至直接将Delphi卖给了Embarcadero公司, 而后Embarcadero公司 接续 使用Delphi开发产品 。话说,它做得相当不错,然而重点再也不是Pascal了 。固然,你依旧 能够用Pascal编程,然而 几乎没人走这条路了 。事实上,我们 能够 使用Delphi 构建许多不同的平台,包含iOS、Android,以及Linux操作系统 。

然而,假如你去Embarcadero公司的网站看看,你会发现他们重要是在 增进Delphi’s C++ 的 支撑 。 因而,换言之便是,Object Pascal已然逝去了 。写到这里,我不禁悲从心来,因为我花了众多众多 工夫来学习Pascal语言,特殊是Delphi’s Object Pascal 。然而没 步骤, 事实便是如此 严峻,不转行就只能饿死 。

下面请看Object Pascal的代码:

program HelloWorld;
begin
   writeln(‘You say goodbye.’)