另一方面,如.NET,Java等框架的重要性提高了許多。而編程語(yǔ)言往往都傾向于構(gòu)建于現(xiàn)有的工具上,而不會(huì)從頭寫起,F(xiàn)在出現(xiàn)的編程語(yǔ)言,例如F#,如果你關(guān)注Java領(lǐng)域那么還有Scala,Clojure等等,它們都是基于現(xiàn)有框架構(gòu)建的。因此現(xiàn)在已經(jīng)有太多東西可以直接利用了,每次從頭開始的代價(jià)實(shí)在太高。
還有件事,便是在過去5、60年的編程歷史中,我們都不斷地提高抽象級(jí)別,我們都在不斷地讓編程語(yǔ)言更有表現(xiàn)力,讓我們可以用更少的代碼完成更多的工作。我們一開始先使用匯編,然后使用面向過程的語(yǔ)言,例如Pascal和C,然后便是面向?qū)ο笳Z(yǔ)言,如C++,隨后就進(jìn)入了托管時(shí)代──受托管的執(zhí)行環(huán)境,例如.NET,Java,它們的主要特性有自動(dòng)的垃圾收集,類型安全等等。我目前還沒有看出這樣的趨勢(shì)有停止的跡象,因此我們還會(huì)看到抽象級(jí)別越來越高的語(yǔ)言,而語(yǔ)言的設(shè)計(jì)者則必須理解并預(yù)測(cè)下一個(gè)抽象級(jí)別是什么樣子的。
我認(rèn)為,現(xiàn)在影響力較大的趨勢(shì)主要有3種。首先,我們會(huì)越來越多地使用聲明式的編程風(fēng)格。這里我主要會(huì)提到例如DSL(Domain Specific Language,領(lǐng)域特定語(yǔ)言)以及函數(shù)式編程。然后在過去的五年里,我發(fā)現(xiàn)對(duì)于動(dòng)態(tài)語(yǔ)言的研究變得非;馃,其中對(duì)我們產(chǎn)生重大影響的無疑是動(dòng)態(tài)語(yǔ)言所擁有的良好的元編程能力,還有一些非常有趣的東西,例如 JavaScript引擎的發(fā)展。然后便是并發(fā)編程,無論我們?cè)覆辉敢,多核的產(chǎn)生都在迫使我們不得不重視并發(fā)編程。
有一點(diǎn)值得一提,那便是隨著語(yǔ)言的發(fā)展,原本的編程語(yǔ)言分類方式也要有所改變了。以前我們經(jīng)常說面向?qū)ο笳Z(yǔ)言,動(dòng)態(tài)語(yǔ)言或是函數(shù)式語(yǔ)言。但是我們現(xiàn)在發(fā)現(xiàn),這些邊界變得越來越模糊,經(jīng)常會(huì)互相學(xué)習(xí)各自的范式。靜態(tài)語(yǔ)言中出現(xiàn)了動(dòng)態(tài)類型,動(dòng)態(tài)語(yǔ)言里也出現(xiàn)了靜態(tài)能力,而如今所有主要的編程語(yǔ)言都受到函數(shù)式語(yǔ)言的影響。因此,一個(gè)越來越明顯的趨勢(shì)是“多范式程序設(shè)計(jì)語(yǔ)言”。
在接下來的部分中,我將深入討論以上提到的這些內(nèi)容。
(未完待續(xù))
譯文:http://blog.zhaojie.me/2010/04/trends-and-future-directions-in-programming-languages-by-anders-1-history-and-trends.html
本文鏈接:http://m.95time.cn/tech/program/2010/7622.asp
出處:老趙點(diǎn)滴
責(zé)任編輯:bluehearts
上一頁(yè) 編程語(yǔ)言的發(fā)展趨勢(shì)及未來方向 [2] 下一頁(yè)
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|