Rust的核心團(tuán)隊(duì)敲定了Rust語言將在接下來的一年何去何從的規(guī)劃提案。一定程度上基于2016年在Rust用戶中的調(diào)查結(jié)果,Rust2017規(guī)劃方案優(yōu)先考慮在不犧牲速度和可靠性的前提下提升Rust的生產(chǎn)力。
值得一提的是,Rust2016調(diào)查暴露出了一些阻礙Rust接受度提升的問題,例如,Rust的學(xué)習(xí)曲線、程序庫和集成開發(fā)環(huán)境的缺乏、語言成熟度的擔(dān)憂以及編譯性能。Rust2017規(guī)劃方案重點(diǎn)強(qiáng)調(diào)了這些問題,并提供了一份詳細(xì)的改進(jìn)方案。
學(xué)習(xí)曲線
在Rust2016調(diào)查中,有近四分之一反饋者提到Rust的學(xué)習(xí)曲線。這可能一定程度上跟Rust基于所有權(quán)概念的非主流的內(nèi)存管理模型有關(guān)。Rust團(tuán)隊(duì)制定的改進(jìn)策略包括:改進(jìn)文檔,改進(jìn)語言診斷系統(tǒng)和語言功能,改進(jìn)工具。
工具
在工具方面,Rust團(tuán)隊(duì)將會(huì)改進(jìn)“編輯-編譯-調(diào)試”循環(huán),并提供一個(gè)集成開發(fā)環(huán)境。在提升“編輯-編譯-調(diào)試”循環(huán)方面,Rust團(tuán)隊(duì)已經(jīng)完成了一些工作。他們提出了一種中間代碼(MIR)來幫助編譯Rust源代碼,并且提供了一種更簡單的類型檢查和轉(zhuǎn)換的表示方法。他們提供了增量編譯功能,并且已經(jīng)處于alpha測試階段。此外,Rust目前的調(diào)試版本“運(yùn)行得非常慢”,而Rust的發(fā)行版本“構(gòu)建得非常慢”。Rust團(tuán)隊(duì)將試圖在這兩者間取舍一個(gè)更平衡的方案。
Rust生態(tài)
Rust生態(tài)成熟度是Rust團(tuán)隊(duì)提高Rust生產(chǎn)力的另外一個(gè)關(guān)注點(diǎn)。一方面,Rust生態(tài)需要提供開發(fā)高質(zhì)量工具箱的方法,包括信號(hào)質(zhì)量預(yù)測、更好地支持持續(xù)集成、在特定工具上支持API審核等等。另外,Rust生態(tài)系統(tǒng)應(yīng)該成長并提供一套基本成熟的能夠幫助完成基礎(chǔ)任務(wù)的工具箱,特別是在服務(wù)器端的并發(fā)編程(Concurrent)、異步編程(Async)、并行編程(Parallel)方面。
互操作性
在生產(chǎn)環(huán)境使用Rust經(jīng)常需要它能夠和已有的構(gòu)建系統(tǒng)集成,并且能夠和C++代碼交互。綜合這兩方面的考量,Rust團(tuán)隊(duì)計(jì)劃讓Rust能夠更簡單地與現(xiàn)有系統(tǒng)集成。特別是,在Rust中使用C++庫應(yīng)該不會(huì)比直接在C++中使用C++庫復(fù)雜太多。
以上只是Rust2017規(guī)劃方案的概要,如果想知道更多Rust技術(shù)規(guī)劃的細(xì)節(jié),包括在缺陷和替代方案方面的討論以及尚未解決的問題等,可以參考RFC文檔。
作者簡介
Sergio De Simone是一位有15年以上編程經(jīng)驗(yàn)的軟件工程師。他曾任職于各種不同工作氛圍的企業(yè),例如西門子、惠普和一些初創(chuàng)企業(yè),并參與許多不同的項(xiàng)目。近幾年來,他專注于移動(dòng)平臺(tái)開發(fā)相關(guān)的技術(shù)。他目前供職于BigML(一家在機(jī)器學(xué)習(xí)領(lǐng)域的初創(chuàng)企業(yè)),負(fù)責(zé)iOS和OS X開發(fā)。
查看英文原文:Where Rust is Heading in 2017