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

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

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

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

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

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

3.Python - 大約在1990年由Guido van Rossum設(shè)計(jì)。“我當(dāng)時(shí)只是想找一個(gè)感興趣的編程項(xiàng)目來(lái)打發(fā)下圣誕節(jié)假期的無(wú)聊!保ǖ诹餍械木幊陶Z(yǔ)言)

4.Ruby  -  大約在1994年由Yukihiro "Matz" Matsumoto設(shè)計(jì)。“我只是想有一種語(yǔ)言可以比Perl更強(qiáng)大,比Python更好地面向?qū)ο螅褪沁@促使我去設(shè)計(jì)我自己的語(yǔ)言!

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

回顧這一歷史,以及自己的學(xué)術(shù)生涯,Lopes覺得象牙塔里創(chuàng)造不出適合人們使用的語(yǔ)言是因?yàn)槠浒丫幊坍?dāng)成一種科學(xué),而實(shí)際上,它更是一種設(shè)計(jì)。

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

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

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

在程序語(yǔ)言里,這些很多時(shí)候可歸因?yàn)槿诵裕喝绻麄儾缓糜茫麄儽悴粫?huì)被廣泛采用。正因如此,有的程序語(yǔ)言和完整的系統(tǒng)(如UNIX)在某些人眼中已經(jīng)被當(dāng)作計(jì)算機(jī)病毒看待了。如果可以衡量,這類問題反而會(huì)變得困難。正因?yàn)槭侵饔^的,所以可以通過(guò)設(shè)計(jì)而不是科學(xué)來(lái)解決。事實(shí)上,那些計(jì)算機(jī)“科學(xué)家”僅僅是字面上的“設(shè)計(jì)者”。畢竟,代碼如詩(shī)。(北京北大青鳥學(xué)校轉(zhuǎn)自網(wǎng)絡(luò))

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章