译文链接:http://www.codeceo.com/articl…
英文原文:5 Programming Languages Marked for Death
翻译作者:码农网 – 小峰
当初的开发人员都趋向于应用新的编程语言,那么旧的编程语言呢?它们的前途个别是这样两种:依然能够应用,但逐步不受大家欢送;间接齐全死去。和之前的十佳最受欢迎的编程语言相同,本文咱们预测以下这几种编程语言面临着死亡威胁:
Perl
曾几何时,简直每个人都在应用Perl语言编程。然而那些常常应用的人缓缓地发现,对于这个Perl语言仿佛总是有点不对劲。至多我晓得有这么个叫做“piecemeal”的编程语言,它的创造者仿佛就只是将这个性能堆在另一个性能下面而已,并没有好好思考将它们联合在一起。
事实上,甚至是它的创造者也不得不抵赖这种编程语言是有问题的。通过残缺地革新之后,当初的开发工作开始偏向于应用Perl6,这个大略是在2000年的时候。至于Perl?俨然曾经匿影藏形了!所以齐全没有必要去学习它了。顺便说一句,上面这个“Goodbye World”就是用Perl写的:
#!/usr/bin/perl
print “Content-type: text/html\n\n”;
print “Goodbye, world!\n”;
下面这个例子会进去一个网页。当初的Perl,因为能够作为CGI脚本语言,所以应用的最宽泛的是在生成web页面上。然而为了适应时代的变动,咱们最好还是将Perl语言“弃之如敝履”。
Ruby
对于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开始走下坡路,应用的人数也是越来越少。
Visual 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”,这个没关系。)
Adobe 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,并且也应用小数点来拜访成员变量。)
Delphi’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.’)
译者注:以上观点仅代表作者个人观点,请文明礼貌按秩序吐槽。
逆锋起笔
是一个专一于程序员圈子的技术平台,你能够播种最新技术动静
、最新内测资格
、BAT等大厂大佬的教训
、增长本身
、学习材料
、职业路线
、赚钱思维
,微信搜寻逆锋起笔
关注!
发表回复