如今的開發人員都趨向於使用新的編程語言,那麼舊的編程語言呢?它們的前途通常是這樣兩種: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 翻譯做者:碼農網 – 小峯