5種將要死亡的編程語(yǔ)言

2021-02-22    分類: 網(wǎng)站建設(shè)

現(xiàn)在的開(kāi)發(fā)人員都趨向于使用新的編程語(yǔ)言,那么舊的編程語(yǔ)言呢?它們的前途一般是這樣兩種:仍然可以使用,但逐漸不受大家歡迎;直接完全死去。和之前的十佳最受歡迎的編程語(yǔ)言相反,本文我們預(yù)測(cè)以下這幾種編程語(yǔ)言面臨著死亡威脅

PERL

曾幾何時(shí),幾乎每個(gè)人都在使用Perl語(yǔ)言編程。但是那些經(jīng)常使用的人慢慢地發(fā)現(xiàn),關(guān)于這個(gè)Perl語(yǔ)言似乎總是有點(diǎn)不對(duì)勁。至少我知道有這么個(gè)叫做“piecemeal”的編程語(yǔ)言,它的創(chuàng)造者似乎就只是將這個(gè)功能堆在另一個(gè)功能上面而已,并沒(méi)有好好考慮將它們結(jié)合在一起。

事實(shí)上,甚至是它的創(chuàng)造者也不得不承認(rèn)這種編程語(yǔ)言是有問(wèn)題的。經(jīng)過(guò)完整地改造之后,現(xiàn)在的開(kāi)發(fā)工作開(kāi)始傾向于使用Perl6,這個(gè)大概是在2000年的時(shí)候。至于Perl??jī)叭灰呀?jīng)銷聲匿跡了!所以完全沒(méi)有必要去學(xué)習(xí)它了。順便說(shuō)一句,下面這個(gè)“Goodbye World”就是用Perl寫(xiě)的:

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

上面這個(gè)例子會(huì)出來(lái)一個(gè)網(wǎng)頁(yè)?,F(xiàn)在的Perl,由于可以作為CGI腳本語(yǔ)言,所以使用的最廣泛的是在生成web頁(yè)面上。但是為了適應(yīng)時(shí)代的變化,我們最好還是將Perl語(yǔ)言“棄之如敝履”。

Ruby

關(guān)于Ruby,可以這么唱“十年之后,我不認(rèn)識(shí)你你不屬于我……”。因?yàn)榫驮?0年前,Ruby語(yǔ)言可謂是風(fēng)靡一時(shí)。它出生于1995年,5年左右達(dá)到它的鼎盛時(shí)期。如果你經(jīng)常使用的話,絕對(duì)會(huì)義無(wú)反顧地愛(ài)上它。但是,像我們這些學(xué)著C語(yǔ)言風(fēng)格長(zhǎng)大的孩子在學(xué)習(xí)Ruby時(shí)往往會(huì)覺(jué)得有點(diǎn)囧。

下面是用Ruby寫(xiě)的“Goodbye World”:

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

下面是一個(gè)用于計(jì)算階乘的例子:

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

我測(cè)試了這個(gè)例子,來(lái)計(jì)算1000的階乘。下面是結(jié)果(由于篇幅限制,中間略過(guò)了2569個(gè)數(shù)字):

ruby fact.rb 100040238726007709377354370243392300…0000000

從各方面來(lái)看,Ruby都很好,幾乎是一片贊譽(yù)聲……除了Twitter。 在2011年4月,Twitter宣稱他們已經(jīng)將幾乎大部分的代碼都改寫(xiě)過(guò)了,以便不必使用Ruby和它的web框架——Ruby on Rails,據(jù)他們所說(shuō)這個(gè)平臺(tái)非常之低效。不過(guò),我想說(shuō)的是,也正是那一天起,Ruby開(kāi)始走下坡路,使用的人數(shù)也是越來(lái)越少。

Visual Basic.NET

十年前,我應(yīng)聘到一個(gè)需要重寫(xiě)大量代碼的公司,名字我已經(jīng)忘記了,主要工作就是將VB6轉(zhuǎn)換為Visual basic.NET。大概就只干了一兩個(gè)月吧,我就跳槽了:真心太痛苦了。

微軟鐘愛(ài)于BASIC編程語(yǔ)言的擴(kuò)展可以一路追溯到1991年,那時(shí)他們剛剛采購(gòu)了來(lái)自Alan Cooper的一個(gè)非常酷(對(duì)于那個(gè)時(shí)候而言)的可視化編程設(shè)計(jì)。Alan Cooper初期使用的是別的編程語(yǔ)言,但是比爾蓋茨讓他換成BASIC語(yǔ)言,因?yàn)樯w茨認(rèn)為那是當(dāng)時(shí)最為簡(jiǎn)單的編程語(yǔ)言。于是乎,大名鼎鼎的Visual Basic,就從BASIC中衍生出來(lái)——對(duì)象這一概念以及新的編程技術(shù)問(wèn)世了。

后面又發(fā)生了一些很有意思的事情。Borland Delphi的創(chuàng)造引領(lǐng)者,Anders Hejlsberg也到微軟工作,并且引領(lǐng)創(chuàng)建了一個(gè)新的編程語(yǔ)言——C#。這種編程語(yǔ)言非常類似于Java語(yǔ)言。剛開(kāi)始的學(xué)習(xí)或許有點(diǎn)難,但是一旦上手,你絕對(duì)會(huì)對(duì)它愛(ài)不釋手。C#很快就成為了微軟的旗艦編程語(yǔ)言?,F(xiàn)在的話,在軟件行業(yè)中,有很多很多需要C#的工作崗位,不少都是高薪聘用的。

雖然針對(duì)自己的CLR運(yùn)行,微軟創(chuàng)建了C#,但是它的工程師們另外還創(chuàng)建了一個(gè)蓋茨深愛(ài)的BASIC語(yǔ)言版本,命名為Visual Basic.NET。該編程語(yǔ)言借用了BASIC語(yǔ)言的語(yǔ)法,但是它的編碼方法卻與C#相似。雖然Visual Basic.NET也在發(fā)展,但是優(yōu)勝劣汰總是不可避免的——大家都選擇了C#,于是Visual Basic.NET就成為了明日黃花。

下面是摘自微軟網(wǎng)頁(yè)上的一段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 SubEnd Module

(這里的“Hello World”也可以替換成“Goodbye World”,這個(gè)沒(méi)關(guān)系。)

Adobe Flash和AIR

從技術(shù)上講,這些都是平臺(tái),而非編程語(yǔ)言。我之所以將它們包含進(jìn)來(lái)是因?yàn)槿绻阆胍褂盟鼈儯捅仨毎惭bAdobe自己的ECMAScript版本,即ActionScript。 ActionScript是JavaScript(當(dāng)前最流行的編程語(yǔ)言之一,因?yàn)樗苡糜谒械臑g覽器)的一個(gè)近親。 ActionScript在ECMAScript(這是JavaScript實(shí)現(xiàn)標(biāo)準(zhǔn)的官方名稱)中增加了一些細(xì)節(jié);但是除了Adobe Flash,其他地方幾乎沒(méi)有ActionScript的用武之地。

你使用Flash不?喬布斯非常討厭它,并且也不允許iPhone使用它。然后隨著iPhone(以及隨后的iPad)的逐漸普及,Web開(kāi)發(fā)人員不得不創(chuàng)建不必依賴于Flash的網(wǎng)站。那些以ActionScript為生的開(kāi)發(fā)人員也不得不紛紛下崗。(我曾經(jīng)看到過(guò)一個(gè)Flash開(kāi)發(fā)人員指責(zé)另一個(gè)JavaScript開(kāi)發(fā)人員毀了他的職業(yè)生涯。)

Adobe也曾試圖通過(guò)AIR以求得其編程平臺(tái)的一線生機(jī),于是配建了一個(gè)用于構(gòu)建AIR app的工具,稱為Flex。至于AIR,許多人都說(shuō),這是一場(chǎng)災(zāi)難。不過(guò)我們目前也不知道為什么Adobe會(huì)推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相親相愛(ài)共同發(fā)展?

記得有一段時(shí)間,得益于Twitter平臺(tái)——TweetDeck(要求用戶在電腦上安裝AIR運(yùn)行時(shí))的使用,AIR很是紅火了一陣子。那時(shí)大概有數(shù)以百萬(wàn)計(jì)的pc AIR應(yīng)用被開(kāi)發(fā)出來(lái),只是后來(lái)Twitter在2011年買了TweetDeck之后,又改寫(xiě)本地代碼取代了AIR。于是乎,AIR的輝煌就到此為止。

隨著Flash和AIR的逐漸逝去,Adobe的ActionScript也開(kāi)始向世界吻別。下面是一些用ActionScript寫(xiě)的代碼示例。

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); } }}

(你可能會(huì)發(fā)現(xiàn)這與JavaScript非常相似,都使用var、function和new,并且也使用小數(shù)點(diǎn)來(lái)訪問(wèn)成員變量。)

Delphi’s Object Pascal

首先我得向我曾經(jīng)的好伙伴Delphi表示歉意,因?yàn)槲也坏貌还糘bject Pascal的“死訊”。well,Delphi(用于發(fā)Object Pascal的工具)歷經(jīng)變遷之后,依然茍延殘喘著(它起源于Borland公司,現(xiàn)在抱著Embarcadero公司的大腿)。

早先Delphi和它的Object Pascal語(yǔ)言確實(shí)給我們提供了一個(gè)良好的工作環(huán)境:雖然有點(diǎn)啰嗦,但是編譯器很快,而且相比Visual Basic(這里指的是pre-Visual Basic.NET,1995年左右),創(chuàng)建Windows程序更容易。

但是它的優(yōu)勢(shì)并沒(méi)有持續(xù)下去。也很難說(shuō)是什么原因,因?yàn)檫@個(gè)平臺(tái)真心是不錯(cuò)的。就在這時(shí),Borland公司開(kāi)始在其Delphi的產(chǎn)品線上支持C#和C++。發(fā)展到后來(lái),Borland公司甚至直接將Delphi賣給了Embarcadero公司,然后Embarcadero公司繼續(xù)使用Delphi開(kāi)發(fā)產(chǎn)品。話說(shuō),它做得相當(dāng)不錯(cuò),但是重點(diǎn)再也不是Pascal了。當(dāng)然,你依然可以用Pascal編程,但是幾乎沒(méi)人走這條路了。事實(shí)上,我們可以使用Delphi建立許多不同的平臺(tái),包括iOS、Android,以及即將到來(lái)的Linux操作系統(tǒng)。

但是,如果你去Embarcadero公司的網(wǎng)站看看,你會(huì)發(fā)現(xiàn)他們主要是在促進(jìn)Delphi’s C++ 的支持。因此,換言之就是,Object Pascal已然逝去了。寫(xiě)到這里,我不禁悲從心來(lái),因?yàn)槲一撕芏嗪芏鄷r(shí)間來(lái)學(xué)習(xí)Pascal語(yǔ)言,特別是Delphi’s Object Pascal。但是沒(méi)辦法,現(xiàn)實(shí)就是如此殘酷,不轉(zhuǎn)行就只能餓死。

下面請(qǐng)看Object Pascal的代碼:

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

名稱欄目:5種將要死亡的編程語(yǔ)言
網(wǎng)站URL:http://www.muchs.cn/news22/102322.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作品牌網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站策劃建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)