北大青鳥學(xué)校轉(zhuǎn):為什么設(shè)計師創(chuàng)造的編程語言受青睞

北京北大青鳥學(xué)校導(dǎo)讀:在編程的世界里,語言是多種多樣的。但是大家發(fā)現(xiàn)沒有,大部分廣泛流行的語言并不是學(xué)術(shù)界產(chǎn)生的,而是設(shè)計者自由發(fā)揮創(chuàng)造出來的。那么現(xiàn)在開發(fā)者都喜歡用什么語言?

以下是Cristina Videira Lopes(一位來自加州大學(xué)歐文分校的權(quán)威計算機科學(xué)家)對編程語言的研究。北京北大青鳥學(xué)校希望此篇內(nèi)容能夠?qū)Υ蠹矣兴鶐椭?/P>

開發(fā)者喜歡用的語言:

1.PHP - 1994年由Rasmus Lerdorf 設(shè)計!白畛踉O(shè)計PHP的目的只是用在他的網(wǎng)絡(luò)簡歷上來追蹤訪問者的,他將它命名為‘個人主頁工具’,通常簡稱為‘PHP工具’!备鶕(jù)langpop.com的非正式調(diào)查,它是排名第四流行的編程語言。

2.JavaScript - 1995年Brendan Eich開始使用!癑S(JavaScript)看起來有點兒像Java,更確切地說,像Java傻傻的弟弟一樣。在10天里我只能這樣做,否則就會出現(xiàn)比JS更糟糕的東西!睔w功于網(wǎng)絡(luò)編程,JS可能已經(jīng)成為目前最流行的編程語言。

3.Python - 大約在1990年由Guido van Rossum設(shè)計!拔耶(dāng)時只是想找一個感興趣的編程項目來打發(fā)下圣誕節(jié)假期的無聊。”(第六流行的編程語言)

4.Ruby  -  大約在1994年由Yukihiro "Matz" Matsumoto設(shè)計。“我只是想有一種語言可以比Perl更強大,比Python更好地面向?qū)ο,就是這促使我去設(shè)計我自己的語言。”

相對的,由那些熱衷于內(nèi)部一致性和正確性的學(xué)術(shù)派設(shè)計的語言卻包括了一堆瀕死的語言(mostly dead tongues):Fortran, Cobol, Lisp, C 以及Smalltalk。唯一的例外是.NET平臺的編程語言和Java,這兩項分別由微軟和Sun公司花費相當(dāng)大的投資才出來的項目。

回顧這一歷史,以及自己的學(xué)術(shù)生涯,Lopes覺得象牙塔里創(chuàng)造不出適合人們使用的語言是因為其把編程當(dāng)成一種科學(xué),而實際上,它更是一種設(shè)計。

——我非常想把設(shè)計帶入到我的日常生活中,我喜歡讓我的學(xué)生投入到諸如程序語言和程序環(huán)境這樣的設(shè)計中去——在這領(lǐng)域,我有很多想法。我相信對于設(shè)計的評估標(biāo)準(zhǔn)是不同于科學(xué)和數(shù)學(xué)的驗證的。

Lopes說,實際上,網(wǎng)絡(luò)迅速地發(fā)展也是因為給予了學(xué)術(shù)界的程序員自由發(fā)揮的空間。

——在與科學(xué)相違背的一個較好的設(shè)計案例就是Tim Berners-Lee向CERN提出的用HTML構(gòu)建網(wǎng)絡(luò)的建議。這個建議沒有經(jīng)過任何科學(xué)驗證。那只是個有趣的關(guān)于“信息互聯(lián)系統(tǒng)”的很好的建議。我甚至可以想象出TB-L的經(jīng)理當(dāng)時的想法:“啊,好吧,這個很有趣。他是個聰明人,他需要多少資源,我們就讓他做做看,看他能做出什么來。即使最后什么都沒有,也沒什么大不了的。”TB-L并沒有為了這個系統(tǒng)而先寫出一份“科學(xué)設(shè)計的評估報告”,然后“在第二階段,我們要把它裝在很多的機器上”,否則今天這個世界可能會變得大不一樣,因為他也許為了那些不需要的證明而陷入黑洞里了。

在程序語言里,這些很多時候可歸因為人性:如果他們不好用,他們便不會被廣泛采用。正因如此,有的程序語言和完整的系統(tǒng)(如UNIX)在某些人眼中已經(jīng)被當(dāng)作計算機病毒看待了。如果可以衡量,這類問題反而會變得困難。正因為是主觀的,所以可以通過設(shè)計而不是科學(xué)來解決。事實上,那些計算機“科學(xué)家”僅僅是字面上的“設(shè)計者”。畢竟,代碼如詩。(北京北大青鳥學(xué)校轉(zhuǎn)自網(wǎng)絡(luò))

北大青鳥網(wǎng)上報名
北大青鳥招生簡章