2021-02-22 分類: 網(wǎng)站建設(shè)
現(xiàn)在的開發(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è)功能上面而已,并沒有好好考慮將它們結(jié)合在一起。
事實(shí)上,甚至是它的創(chuàng)造者也不得不承認(rèn)這種編程語(yǔ)言是有問題的。經(jīng)過完整地改造之后,現(xiàn)在的開發(fā)工作開始傾向于使用Perl6,這個(gè)大概是在2000年的時(shí)候。至于Perl??jī)叭灰呀?jīng)銷聲匿跡了!所以完全沒有必要去學(xué)習(xí)它了。順便說一句,下面這個(gè)“Goodbye World”就是用Perl寫的:
#!/usr/bin/perlprint “Content-type: text/html ”;print “Goodbye, world! ”;上面這個(gè)例子會(huì)出來(lái)一個(gè)網(wǎng)頁(yè)。現(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ú)反顧地愛上它。但是,像我們這些學(xué)著C語(yǔ)言風(fēng)格長(zhǎng)大的孩子在學(xué)習(xí)Ruby時(shí)往往會(huì)覺得有點(diǎn)囧。
下面是用Ruby寫的“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é)果(由于篇幅限制,中間略過了2569個(gè)數(shù)字):
ruby fact.rb 100040238726007709377354370243392300…0000000從各方面來(lái)看,Ruby都很好,幾乎是一片贊譽(yù)聲……除了Twitter。 在2011年4月,Twitter宣稱他們已經(jīng)將幾乎大部分的代碼都改寫過了,以便不必使用Ruby和它的web框架——Ruby on Rails,據(jù)他們所說這個(gè)平臺(tái)非常之低效。不過,我想說的是,也正是那一天起,Ruby開始走下坡路,使用的人數(shù)也是越來(lái)越少。
Visual Basic.NET
十年前,我應(yīng)聘到一個(gè)需要重寫大量代碼的公司,名字我已經(jīng)忘記了,主要工作就是將VB6轉(zhuǎn)換為Visual basic.NET。大概就只干了一兩個(gè)月吧,我就跳槽了:真心太痛苦了。
微軟鐘愛于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ù)問世了。
后面又發(fā)生了一些很有意思的事情。Borland Delphi的創(chuàng)造引領(lǐng)者,Anders Hejlsberg也到微軟工作,并且引領(lǐng)創(chuàng)建了一個(gè)新的編程語(yǔ)言——C#。這種編程語(yǔ)言非常類似于Java語(yǔ)言。剛開始的學(xué)習(xí)或許有點(diǎn)難,但是一旦上手,你絕對(duì)會(huì)對(duì)它愛不釋手。C#很快就成為了微軟的旗艦編程語(yǔ)言?,F(xiàn)在的話,在軟件行業(yè)中,有很多很多需要C#的工作崗位,不少都是高薪聘用的。
雖然針對(duì)自己的CLR運(yùn)行,微軟創(chuàng)建了C#,但是它的工程師們另外還創(chuàng)建了一個(gè)蓋茨深愛的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è)沒關(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,其他地方幾乎沒有ActionScript的用武之地。
你使用Flash不?喬布斯非常討厭它,并且也不允許iPhone使用它。然后隨著iPhone(以及隨后的iPad)的逐漸普及,Web開發(fā)人員不得不創(chuàng)建不必依賴于Flash的網(wǎng)站。那些以ActionScript為生的開發(fā)人員也不得不紛紛下崗。(我曾經(jīng)看到過一個(gè)Flash開發(fā)人員指責(zé)另一個(gè)JavaScript開發(fā)人員毀了他的職業(yè)生涯。)
Adobe也曾試圖通過AIR以求得其編程平臺(tái)的一線生機(jī),于是配建了一個(gè)用于構(gòu)建AIR app的工具,稱為Flex。至于AIR,許多人都說,這是一場(chǎng)災(zāi)難。不過我們目前也不知道為什么Adobe會(huì)推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相親相愛共同發(fā)展?
記得有一段時(shí)間,得益于Twitter平臺(tái)——TweetDeck(要求用戶在電腦上安裝AIR運(yùn)行時(shí))的使用,AIR很是紅火了一陣子。那時(shí)大概有數(shù)以百萬(wàn)計(jì)的pc AIR應(yīng)用被開發(fā)出來(lái),只是后來(lái)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); } }}(你可能會(huì)發(fā)現(xiàn)這與JavaScript非常相似,都使用var、function和new,并且也使用小數(shù)點(diǎn)來(lái)訪問成員變量。)
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ì)并沒有持續(xù)下去。也很難說是什么原因,因?yàn)檫@個(gè)平臺(tái)真心是不錯(cuò)的。就在這時(shí),Borland公司開始在其Delphi的產(chǎn)品線上支持C#和C++。發(fā)展到后來(lái),Borland公司甚至直接將Delphi賣給了Embarcadero公司,然后Embarcadero公司繼續(xù)使用Delphi開發(fā)產(chǎn)品。話說,它做得相當(dāng)不錯(cuò),但是重點(diǎn)再也不是Pascal了。當(dāng)然,你依然可以用Pascal編程,但是幾乎沒人走這條路了。事實(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已然逝去了。寫到這里,我不禁悲從心來(lái),因?yàn)槲一撕芏嗪芏鄷r(shí)間來(lái)學(xué)習(xí)Pascal語(yǔ)言,特別是Delphi’s Object Pascal。但是沒辦法,現(xiàn)實(shí)就是如此殘酷,不轉(zhuǎn)行就只能餓死。
下面請(qǐng)看Object Pascal的代碼:
program HelloWorld;begin writeln(‘You say goodbye.’)
名稱欄目:5種將要死亡的編程語(yǔ)言
網(wǎng)站URL:http://jinyejixie.com/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)
猜你還喜歡下面的內(nèi)容