如今的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢?它们的前途通常是这样两种:html
和以前的十佳最受欢迎的编程语言相反,本文咱们预测如下这几种编程语言面临着死亡威胁:web
曾几什么时候,几乎每一个人都在使用Perl语言编程。可是那些常用的人慢慢地发现,关于这个Perl语言彷佛老是有点不对劲。至少我知道有这么个叫作“piecemeal”的编程语言,它的创造者彷佛就只是将这个功能堆在另外一个功能上面而已,并无好好考虑将它们结合在一块儿。编程
事实上,甚至是它的创造者也不得不认可这种编程语言是有问题的。通过完整地改造以后,如今的开发工做开始倾向于使用Perl6,这个大概是在2000年的时候。至于Perl?俨然已经销声匿迹了!因此彻底没有必要去学习它了。顺便说一句,下面这个“Goodbye World”就是用Perl写的:浏览器
#!/usr/bin/perlprint“Content-type:text/html\n\n”;print“Goodbye,world!\n”;
上面这个例子会出来一个网页。如今的Perl,因为能够做为CGI脚本语言,因此使用的最普遍的是在生成web页面上。可是为了适应时代的变化,咱们最好仍是将Perl语言“弃之如敝履”。ruby
关于Ruby,能够这么唱“十年以后,我不认识你你不属于我……”。由于就在10年前,Ruby语言可谓是风靡一时。它出生于1995年,5年左右达到它的鼎盛时期。若是你常用的话,绝对会义无反顾地爱上它。可是,像咱们这些学着C语言风格长大的孩子在学习Ruby时每每会以为有点囧。app
下面是用Ruby写的“Goodbye World”:框架
puts‘Byebye,MissAmericanRuby!DrovemyChevytotheLevie…’puts ’2011 was the day that Ruby died, yeah…’
下面是一个用于计算阶乘的例子:编程语言
def fact(n) if n == 0 1 else n * fact(n-1) endendputs fact(ARGV[0].to_i)
我测试了这个例子,来计算1000的阶乘。下面是结果(因为篇幅限制,中间略过了2569个数字):工具
ruby fact.rb 100040238726007709377354370243392300…0000000
从各方面来看,Ruby都很好,几乎是一片赞誉声……除了Twitter。在2011年4月,Twitter宣称他们已经将几乎大部分的代码都改写过了,以便没必要使用Ruby和它的web框架——Ruby on Rails,据他们所说这个平台很是之低效。不过,我想说的是,也正是那一天起,Ruby开始走下坡路,使用的人数也是愈来愈少。oop
十年前,我应聘到一个须要重写大量代码的公司,名字我已经忘记了,主要工做就是将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(“HelloWorldusingVisualBasic!”) End SubEnd Module
(这里的“Hello World”也能够替换成“Goodbye World”,这个不要紧。)
从技术上讲,这些都是平台,而非编程语言。我之因此将它们包含进来是由于若是你想要使用它们,就必须安装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 {privatevargreeting:TextField=newTextField();public function HelloWorld() {greeting.text=“HelloWorld!”; greeting.x = 100; greeting.y = 100; addChild(greeting); } }}
(你可能会发现这与JavaScript很是类似,都使用var、function和new,而且也使用小数点来访问成员变量。)
首先我得向我曾经的好伙伴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.’)
译者注:以上观点仅表明做者我的观点,请文明礼貌按秩序吐槽。
译文连接: http://www.codeceo.com/articl... 英文原文:5 Programming Languages Marked for Death 翻译做者:码农网 – 小峰