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

英文原文:http://http//insights.dice.com/2014/10/09/5-programming-languages-marked-for-death/uages-marked-for-death/
译文链接:http://www.codeceo.com/article/5-die-programming-language.html
翻译作者:码农网–小峰
【2020年,5种将死的编程语言,不要浪费时间去学习了】2020年,5种将死的编程语言,不要浪费时间去学习了
文章图片

1Perl曾几何时 , 几乎每个人都在使用Perl语言编程 。 但是那些经常使用的人慢慢地发现 , 关于这个Perl语言似乎总是有点不对劲 。 至少我知道有这么个叫做“piecemeal”的编程语言 , 它的创造者似乎就只是将这个功能堆在另一个功能上面而已 , 并没有好好考虑将它们结合在一起 。
事实上 , 甚至是它的创造者也不得不承认这种编程语言是有问题的 。 经过完整地改造之后 , 现在的开发工作开始倾向于使用Perl6 , 这个大概是在2000年的时候 。 至于Perl?俨然已经销声匿迹了!所以完全没有必要去学习它了 。 顺便说一句 , 下面这个“GoodbyeWorld”就是用Perl写的:
#!/usr/bin/perlprint“Content-type:text/htmlnn”;print“Goodbye,world!n”;上面这个例子会出来一个网页 。 现在的Perl , 由于可以作为CGI脚本语言 , 所以使用的最广泛的是在生成web页面上 。 但是为了适应时代的变化 , 我们最好还是将Perl语言“弃之如敝履” 。
2Ruby关于Ruby , 可以这么唱“十年之后 , 我不认识你你不属于我……” 。 因为就在10年前 , Ruby语言可谓是风靡一时 。 它出生于1995年 , 5年左右达到它的鼎盛时期 。 如果你经常使用的话 , 绝对会义无反顾地爱上它 。 但是 , 像我们这些学着C语言风格长大的孩子在学习Ruby时往往会觉得有点囧 。
下面是用Ruby写的“GoodbyeWorld”:
puts‘Byebye,MissAmericanRuby!DrovemyChevytotheLevie…’puts’2011wasthedaythatRubydied,yeah…’下面是一个用于计算阶乘的例子:
deffact(n)ifn==01elsen*fact(n-1)endendputsfact(ARGV[0].to_i)我测试了这个例子 , 来计算1000的阶乘 。 下面是结果(由于篇幅限制 , 中间略过了2569个数字):
rubyfact.rb100040238726007709377354370243392300…0000000从各方面来看 , Ruby都很好 , 几乎是一片赞誉声……除了Twitter 。 在2011年4月 , Twitter宣称他们已经将几乎大部分的代码都改写过了 , 以便不必使用Ruby和它的web框架——RubyonRails , 据他们所说这个平台非常之低效 。 不过 , 我想说的是 , 也正是那一天起 , Ruby开始走下坡路 , 使用的人数也是越来越少 。
3VisualBasic.NET十年前 , 我应聘到一个需要重写大量代码的公司 , 名字我已经忘记了 , 主要工作就是将VB6转换为Visualbasic.NET 。 大概就只干了一两个月吧 , 我就跳槽了:真心太痛苦了 。
微软钟爱于BASIC编程语言的扩展可以一路追溯到1991年 , 那时他们刚刚采购了来自AlanCooper的一个非常酷(对于那个时候而言)的可视化编程设计 。 AlanCooper初期使用的是别的编程语言 , 但是比尔盖茨让他换成BASIC语言 , 因为盖茨认为那是当时最为简单的编程语言 。 于是乎 , 大名鼎鼎的VisualBasic , 就从BASIC中衍生出来——对象这一概念以及新的编程技术问世了 。
后面又发生了一些很有意思的事情 。 BorlandDelphi的创造引领者 , AndersHejlsberg也到微软工作 , 并且引领创建了一个新的编程语言——C# 。 这种编程语言非常类似于Java语言 。 刚开始的学习或许有点难 , 但是一旦上手 , 你绝对会对它爱不释手 。 C#很快就成为了微软的旗舰编程语言 。 现在的话 , 在软件行业中 , 有很多很多需要C#的工作岗位 , 不少都是高薪聘用的 。
虽然针对自己的CLR运行 , 微软创建了C# , 但是它的工程师们另外还创建了一个盖茨深爱的BASIC语言版本 , 命名为VisualBasic.NET 。 该编程语言借用了BASIC语言的语法 , 但是它的编码方法却与C#相似 。 虽然VisualBasic.NET也在发展 , 但是优胜劣汰总是不可避免的——大家都选择了C# , 于是VisualBasic.NET就成为了明日黄花 。
下面是摘自微软网页上的一段VisualBasic.NET程序:
‘AlloweasyreferencetotheSystemnamespaceclasses.ImportsSystem‘Thismodulehousestheapplication’sentrypoint.PublicModulemodmain‘Mainistheapplication’sentrypoint.SubMain()‘Writetexttotheconsole.Console.WriteLine(“HelloWorldusingVisualBasic!”)EndSubEndModule(这里的“HelloWorld”也可以替换成“GoodbyeWorld” , 这个没关系 。 )
4AdobeFlash和AIR从技术上讲 , 这些都是平台 , 而非编程语言 。 我之所以将它们包含进来是因为如果你想要使用它们 , 就必须安装Adobe自己的ECMAScript版本 , 即ActionScript 。 ActionScript是JavaScript(当前最流行的编程语言之一 , 因为它能用于所有的浏览器)的一个近亲 。 ActionScript在ECMAScript(这是JavaScript实现标准的官方名称)中增加了一些细节;但是除了AdobeFlash , 其他地方几乎没有ActionScript的用武之地 。
你使用Flash不?乔布斯非常讨厌它 , 并且也不允许iPhone使用它 。 然后随着iPhone(以及随后的iPad)的逐渐普及 , Web开发人员不得不创建不必依赖于Flash的网站 。 那些以ActionScript为生的开发人员也不得不纷纷下岗 。 (我曾经看到过一个Flash开发人员指责另一个JavaScript开发人员毁了他的职业生涯 。 )
Adobe也曾试图通过AIR以求得其编程平台的一线生机 , 于是配建了一个用于构建AIRapp的工具 , 称为Flex 。 至于AIR , 许多人都说 , 这是一场灾难 。 不过我们目前也不知道为什么Adobe会推出AIR , 可能是想用AIR取代Flash?也可能是想要AIR和Flash相亲相爱共同发展?
记得有一段时间 , 得益于Twitter平台——TweetDeck(要求用户在电脑上安装AIR运行时)的使用 , AIR很是红火了一阵子 。 那时大概有数以百万计的pcAIR应用被开发出来 , 只是后来Twitter在2011年买了TweetDeck之后 , 又改写本地代码取代了AIR 。 于是乎 , AIR的辉煌就到此为止 。
随着Flash和AIR的逐渐逝去 , Adobe的ActionScript也开始向世界吻别 。 下面是一些用ActionScript写的代码示例 。
package{importflash.display.*;importflash.text.*;publicclassHelloWorldextendsSprite{privatevargreeting:TextField=newTextField();publicfunctionHelloWorld(){greeting.text=“HelloWorld!”;greeting.x=100;greeting.y=100;addChild(greeting);}}}(你可能会发现这与JavaScript非常相似 , 都使用var、function和new , 并且也使用小数点来访问成员变量 。 )
5Delphi’sObjectPascal首先我得向我曾经的好伙伴Delphi表示歉意 , 因为我不得不公布ObjectPascal的“死讯” 。 well , Delphi(用于发ObjectPascal的工具)历经变迁之后 , 依然苟延残喘着(它起源于Borland公司 , 现在抱着Embarcadero公司的大腿) 。
早先Delphi和它的ObjectPascal语言确实给我们提供了一个良好的工作环境:虽然有点啰嗦 , 但是编译器很快 , 而且相比VisualBasic(这里指的是pre-VisualBasic.NET , 1995年左右) , 创建Windows程序更容易 。
但是它的优势并没有持续下去 。 也很难说是什么原因 , 因为这个平台真心是不错的 。 就在这时 , Borland公司开始在其Delphi的产品线上支持C#和C++ 。 发展到后来 , Borland公司甚至直接将Delphi卖给了Embarcadero公司 , 然后Embarcadero公司继续使用Delphi开发产品 。 话说 , 它做得相当不错 , 但是重点再也不是Pascal了 。 当然 , 你依然可以用Pascal编程 , 但是几乎没人走这条路了 。 事实上 , 我们可以使用Delphi建立许多不同的平台 , 包括iOS、Android , 以及Linux操作系统 。
但是 , 如果你去Embarcadero公司的网站看看 , 你会发现他们主要是在促进Delphi’sC++的支持 。 因此 , 换言之就是 , ObjectPascal已然逝去了 。 写到这里 , 我不禁悲从心来 , 因为我花了很多很多时间来学习Pascal语言 , 特别是Delphi’sObjectPascal 。 但是没办法 , 现实就是如此残酷 , 不转行就只能饿死 。
下面请看ObjectPascal的代码:
programHelloWorld;beginwriteln(‘Yousaygoodbye.’)译者注:以上观点仅代表作者个人观点 , 请文明礼貌按秩序吐槽 。


    推荐阅读