自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么C語(yǔ)言屹立不倒?

開發(fā) 后端
有些語(yǔ)言誕生幾十年了依然是世界上最流行的語(yǔ)言,比如C語(yǔ)言。有些語(yǔ)言雖然號(hào)稱新興的語(yǔ)言卻很少有人使用。在編程語(yǔ)言這個(gè)領(lǐng)域里似乎不符合長(zhǎng)江后浪推前浪這個(gè)規(guī)律。這恐怕不止語(yǔ)言本身的因素,里面的緣由值得研究者好好去探索一番。

[[79024]] 

語(yǔ)言之間是不平等的。圖片來(lái)源:winnifredxoxo/Flickr

近年來(lái),谷歌一直致力于開發(fā)出自己的編程語(yǔ)言以取代當(dāng)今世上最常用的C、C++和JavaScript。在系統(tǒng)語(yǔ)言方向,谷歌的Go語(yǔ)言能夠?yàn)橛脩粼跀?shù)據(jù)中心內(nèi)建立大型軟件提供更多的便捷,有望取代C語(yǔ)言和C++的地位;而在網(wǎng)絡(luò)開發(fā)方面,谷歌希望憑借Dart取代JavaScript。編程語(yǔ)言的世界里可謂是江山代有人才出,可有那么一位引領(lǐng)風(fēng)騷達(dá)數(shù)十年之久,它就是C語(yǔ)言。

編程語(yǔ)言之間的競(jìng)爭(zhēng)一天也沒(méi)能停歇,長(zhǎng)江后浪推前浪,一代更比一代強(qiáng)。它們之中只有屈指可數(shù)的少數(shù)能夠被市場(chǎng)接納,成為程序員們?nèi)杖找挂沟陌閭H。究竟怎樣的編程語(yǔ)言才能夠成為大浪淘沙中的幸運(yùn)兒?普林斯頓大學(xué)(Princeton)和加州大學(xué)伯克利分校(University of California at Berkeley)的研究者雷歐·馬耶若維奇(Leo Meyerovich)和阿里·拉布金(Ari Rabkin)希望通過(guò)自己的研究,來(lái)解開編程語(yǔ)言世界的叢林法則。他們?cè)谔綄ひ粋€(gè)問(wèn)題——為何C語(yǔ)言雖垂垂老矣卻能屹而不倒?

雷歐和阿里采訪了數(shù)以萬(wàn)計(jì)的程序員,又在全球最大的軟件倉(cāng)庫(kù)SourceForge梳理了超過(guò)30萬(wàn)份的程序。“為什么C語(yǔ)言沒(méi)有被淘汰?”拉布金提出了這個(gè)問(wèn)題。的確,C語(yǔ)言距問(wèn)世之初已經(jīng)有了35年的歷史。在這期間里,計(jì)算機(jī)邁出了不可測(cè)量的發(fā)展步伐,軟件和操作系統(tǒng)也早就今非昔比,編程語(yǔ)言中不乏叱咤風(fēng)云的新生代,而C語(yǔ)言也有了升級(jí)版。即便如此,C語(yǔ)言依舊風(fēng)采不減當(dāng)年。

拉布金剛剛?cè)〉昧思又荽髮W(xué)伯克利分校的計(jì)算機(jī)博士學(xué)位,如今在普林斯頓大學(xué)攻讀博士后學(xué)位。“在學(xué)術(shù)領(lǐng)域,現(xiàn)今的趨勢(shì)是解決那些尚未出現(xiàn)的難題,” 拉布金說(shuō),“學(xué)者們希望能夠標(biāo)新立異地建立起一個(gè)全新的語(yǔ)言系統(tǒng),就沒(méi)有考慮這么一套編程語(yǔ)言是否有實(shí)踐的價(jià)值。編程語(yǔ)言的開發(fā)者們?nèi)鄙僖粋€(gè)明確的目標(biāo)。”他指出,有些編程語(yǔ)言甚至缺失了最基礎(chǔ)的東西,比如文檔(Documentation);還有些開發(fā)者不停地在語(yǔ)言系統(tǒng)上畫蛇添足,弄到最后搞的程序員們只能因?yàn)樗?ldquo;豐富”了不得不放棄。馬耶若維奇認(rèn)為:“我們發(fā)現(xiàn)這個(gè)問(wèn)題事實(shí)上不是一個(gè)技術(shù)領(lǐng)域的問(wèn)題,它是因?yàn)檎麄€(gè)學(xué)術(shù)界不夠注重實(shí)踐需求所造成的”。

新興編程語(yǔ)言Scale是一個(gè)很好的例子。數(shù)據(jù)分析機(jī)構(gòu)Slice-Data的創(chuàng)始人之一張洋(音譯)是Scale眾多使用者中的一員,他從 2006年起開始接觸Scale。Scale在問(wèn)世之初文件編制就存在很大的缺陷,這給用戶的學(xué)習(xí)使用造成了很大的不便和痛苦。“我當(dāng)時(shí)肯定是個(gè)受虐狂。”他回憶道。

除卻新興語(yǔ)言本身的問(wèn)題,這里面還有一個(gè)要素是程序員的學(xué)習(xí)能力。試驗(yàn)中收集的信息表明,因?yàn)閷W(xué)習(xí)新語(yǔ)言太辛苦困難了,程序員們?cè)谑褂靡豢钚滦偷木幊陶Z(yǔ)言前并不會(huì)認(rèn)認(rèn)真真地去學(xué)習(xí)一番。馬耶若維奇拿Adobe公司開發(fā)的ActionScript作為例子。ActionScript是一款以用戶為導(dǎo)向的編程語(yǔ)言,程序員們普遍認(rèn)為ActionScript的使用比較簡(jiǎn)單??墒钱?dāng)要用ActionScript做新的事時(shí),比如從媒體開發(fā)轉(zhuǎn)向游戲開發(fā),因?yàn)闆](méi)有系統(tǒng)的學(xué)習(xí)過(guò),他們就束手無(wú)策了。

我們普遍認(rèn)為,程序員年齡越大,經(jīng)驗(yàn)就越老道,掌握的語(yǔ)言就越多。事實(shí)又是怎樣的呢?雷歐和阿里在試驗(yàn)中發(fā)現(xiàn),多數(shù)程序員都掌握了3至4種程序語(yǔ)言,但當(dāng)他們到了35-40歲時(shí),很多人就會(huì)步入管理崗位。脫離了編程一線,學(xué)習(xí)新語(yǔ)言的動(dòng)機(jī)和機(jī)會(huì)就大打折扣了。

馬耶若維奇認(rèn)為,他們正在研究的這個(gè)課題十分重要,關(guān)乎整個(gè)行業(yè)是否能夠高速和健康地發(fā)展。他和拉布金把實(shí)驗(yàn)數(shù)據(jù)都發(fā)布在網(wǎng)絡(luò)上,希望他人能夠給出新的視角,同時(shí)為如何解決這一問(wèn)題提供建議與幫助。

原文鏈接:http://www.guokr.com/article/222043/

責(zé)任編輯:林師授 來(lái)源: 果殼
相關(guān)推薦

2016-11-14 10:13:12

Javac

2014-06-20 14:27:49

盈世Coremail電子郵箱

2019-05-16 14:15:33

人工智能Java編程語(yǔ)言

2014-08-18 14:52:37

無(wú)線USB

2020-09-04 15:34:07

C編程語(yǔ)言開發(fā)

2010-11-03 09:22:00

C語(yǔ)言

2010-01-22 15:14:37

學(xué)習(xí)C++

2022-05-24 08:31:05

C語(yǔ)言檢查數(shù)組

2020-10-09 11:06:38

C語(yǔ)言桌面語(yǔ)法

2023-11-04 16:26:18

C語(yǔ)言數(shù)組

2015-05-25 15:31:56

C語(yǔ)言學(xué)習(xí)和使用 C 語(yǔ)言

2021-06-06 22:22:32

c語(yǔ)言編程語(yǔ)言

2025-01-06 08:28:45

C語(yǔ)言操作系統(tǒng)程序

2022-06-26 00:24:57

C語(yǔ)言操作系統(tǒng)語(yǔ)言

2011-07-05 16:57:53

C語(yǔ)言

2020-04-07 16:12:56

Go編程語(yǔ)言開發(fā)

2014-05-07 09:48:39

CC語(yǔ)言

2019-09-09 10:36:21

C語(yǔ)言編程語(yǔ)言程序員

2023-09-07 10:50:22

2024-05-30 12:17:25

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)