開發(fā)者應(yīng)該了解的五種全新編程語言
譯文從全面并發(fā)到可執(zhí)行文件部署,這些新型語言絕對(duì)值得大家加以關(guān)注。為什么要?jiǎng)?chuàng)造一種新語言?這倒并不是說我們就一定需要這種語言。
但新的編程語言確實(shí)會(huì)從新的角度審視開發(fā)者、IT管理員以及其他相關(guān)人員所面臨的問題。因此,我們也有必要關(guān)注那些希望以新的視角解決固有障礙的新型語言。
另外,新語言的誕生也未必只關(guān)注語言本身,有時(shí)候其關(guān)注重點(diǎn)在于語言所提供的環(huán)境。谷歌的Go與Mozilla的Rust語言并不提供新語法,但卻帶來了新的工作鏈與項(xiàng)目管理策略。
下面來看編程語言領(lǐng)域的五位后起之秀,它們都在以創(chuàng)造性的方式試圖解決實(shí)際或者理論層面中的難題。
Stanza 0.8.22
要點(diǎn): 亦被稱為L(zhǎng).B. Stanza,此項(xiàng)目由加州大學(xué)伯克利分校開發(fā),在語言當(dāng)中高度強(qiáng)烈拆分這一理念。
Stanza可編譯為本地代碼,但并不要求特定類型。在添加之后,該語言能夠自動(dòng)執(zhí)行極為強(qiáng)大的代碼檢查機(jī)制。另外,它還利用一套不涉及類的對(duì)象系統(tǒng)——其實(shí)際使用方法與函數(shù)——并能夠顯著降低協(xié)同例程的并發(fā)難度。
類似語言: Python、Ruby且在某種程度上類似于函數(shù)語言
當(dāng)前平臺(tái): Linux, Mac, Windows
Nim 0.13
要點(diǎn): Nim繼承了Python的設(shè)計(jì)思路——簡(jiǎn)潔的語法、便捷性、訪問該語言自己的語法樹——并使其可在靜態(tài)類型語言中起效,同時(shí)可以執(zhí)行自己的垃圾回收與內(nèi)存管理方案。其它出色特性還包括:手動(dòng)定義運(yùn)算符(大家無需重載現(xiàn)有運(yùn)算符)、宏并將Nim應(yīng)用編譯為無依賴性的獨(dú)立二進(jìn)制文件。
類似語言: Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon (該語言的設(shè)計(jì)師們自己也承認(rèn)這一點(diǎn))
當(dāng)前平臺(tái): 在理論上支持任何具備C編譯器的平臺(tái),但二進(jìn)制文件目前僅適用于Windows。
Crystal 0.17.4
要點(diǎn): 其語法與Ruby屬同一模式——因此Ruby開發(fā)者能夠快速上手。但與Ruby不同,Crystal能夠編譯為本地代碼。它還擁有靜態(tài)類型檢查機(jī)制,而不需要在變量或者方法參數(shù)中進(jìn)行類型指定。另外,它能夠直接綁定至C代碼。Crystal語言目前尚不支持并發(fā)——所有任務(wù)都在單一線程內(nèi)執(zhí)行——不過其擁有并發(fā)控制機(jī)制,而且并發(fā)與軟件包管理器都已經(jīng)被納入開發(fā)議程。
類似語言: Ruby
當(dāng)前平臺(tái): Linux, OS X
Nit 0.8
要點(diǎn): 作為另一款脫胎于Python的語言,Nit的開發(fā)初衷在于更為簡(jiǎn)單地同現(xiàn)有C/C++、Java以及Objective-C代碼協(xié)作與接入。同樣耐人尋味的是,盡管尚處于早期開發(fā)階段,但Nit語言已經(jīng)將Android作為受支持編譯目標(biāo),因此其很有可能成為Android平臺(tái)上的應(yīng)用開發(fā)語言。
類似語言: Python, Pascal, Ruby
當(dāng)前平臺(tái): Linux, OS X,可通過Cygwin運(yùn)行在Windows上,但性能表現(xiàn)較差。
Pony 0.2.1
要點(diǎn): Pony的目標(biāo)是解決軟件開發(fā)中經(jīng)常出現(xiàn)的一項(xiàng)難題:如何在不影響競(jìng)爭(zhēng)狀況、內(nèi)存安全或者造成死鎖問題的情況下,對(duì)對(duì)象等抽象機(jī)制進(jìn)行處理。Pony嘗試使用靜態(tài)類型與“actor”對(duì)象類型解決該問題,這樣我們就能更輕松地了解各條目究竟是什么、其以何種順序執(zhí)行。
類似語言: Python (語法類似), Erlang (強(qiáng)大的并發(fā)系統(tǒng))
當(dāng)前平臺(tái): Linux, OS X, Windows
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】