Rust 語言 2020 調(diào)查報(bào)告發(fā)布:“Rust 太難,生命周期更難”
Rust 官方博客發(fā)布了 2020 年度的 Rust 調(diào)查報(bào)告。
此次調(diào)查共收到以 14 種不同語言完成的 8323 份回復(fù),使用英語的受訪者人數(shù)占比最高,為 75%,其次是 5.4% 的中文受訪者以及 5.3% 的俄語受訪者?;诖?,官方計(jì)劃從這語言方面改進(jìn) Rust 社區(qū),為那些不希望或無法使用英語的人改善 Rust 社區(qū)狀況。
在所有受訪者中,83% 的人聲稱使用過 Rust(此數(shù)據(jù)也是歷來最高);7% 的受訪者表示曾經(jīng)使用過,但目前不再使用。這些放棄使用 Rust 的受訪者被問及為什么放棄時(shí),有 35% 的人直言他們還沒學(xué)會(或許是由于時(shí)間不夠),34% 的人則表示是因?yàn)樽约核诘墓疽巡皇褂?Rust,還有 19% 的人指出改用 Rust 比他們目前選擇的語言“慢”。
到底誰在使用 Rust 呢?
根據(jù)調(diào)查報(bào)告的介紹,約 40% 從事軟件開發(fā)的受訪者表示會在日常工作中使用 Rust,這些受訪者透露的信息還側(cè)面反映了 Rust 在實(shí)際工作中有著光明的前景,因?yàn)榻霐?shù)的受訪者表示,他們的雇主計(jì)劃在未來一年內(nèi)繼續(xù)招聘 Rust 開發(fā)者。
除此之外,在工作中編寫大量 Rust 代碼的受訪者比例也有所增加,44% 的受訪者表示他們在工作中產(chǎn)出的 Rust 總代碼量在 1 萬行以上,而去年這一比例為 34%。
在被問及使用哪種版本的 Rust 時(shí),大部分受訪者使用的是穩(wěn)定版,其次是 Nightly 構(gòu)建版。官方表示 2020 年他們在清理代碼庫和提升穩(wěn)定性方面投入了許多時(shí)間和精力,雖然這項(xiàng)工作目前尚未完成,不過從受訪者的反饋來看,Rust 的整體穩(wěn)定性一直在提升。
之所以有如此多的用戶選擇 Nightly 構(gòu)建版本主要是因?yàn)樗麄兪褂昧?Rocket Web 框架,恰好 Rocket Web 框架依賴的就是 Rust Nightly 構(gòu)建版。不過此框架已宣布下一版本將使用 Rust 穩(wěn)定版進(jìn)行編譯。另外一個(gè)原因是他們需要使用 Nightly 構(gòu)建版的 const 泛型功能。令人感到意外的是,使用 Nightly 版本的部分用戶覺得 Nightly 的穩(wěn)定性足以滿足他們的要求,而且還能更快嘗試新特性,這也是他們選擇 Nightly 而非穩(wěn)定版的原因。
互操作性方面,當(dāng)受訪者被問及希望 Rust 能與哪種語言進(jìn)行互操作,C++ 是最熱門的選擇,其次是 C 和 Python。實(shí)際上,對于使用大型代碼庫(100000 行或更多的代碼)的開發(fā)者而言,與 C++ 的互操作是改善他們 Rust 開發(fā)體驗(yàn)和提升開發(fā)效率的常用手段。
說到開發(fā)效率,Rust 在編譯時(shí)間和庫支持方面也得到了不錯(cuò)的反饋。50.5% 的受訪者表示感覺到了進(jìn)步,他們認(rèn)為編譯時(shí)間已經(jīng)縮短。庫支持方面,有開發(fā)者表示希望看到 Rust 對 GUI 開發(fā)的支持,以及提升在異步編程方面的成熟度。
最后是關(guān)于 Rust 學(xué)習(xí)難度的問題,這也是 Rust 長期被“吐槽”的地方。此次調(diào)查中,當(dāng)受訪者被問及對于提升 Rust 的采用率有何建議時(shí),許多人提到的一個(gè)方案是降低 Rust 的學(xué)習(xí)難度。15.8% 的受訪者表示,如果“不那么令人恐懼、更容易學(xué)習(xí)或不太復(fù)雜”,他們會更多地使用 Rust。受訪者還指出可以將文檔和培訓(xùn)作為切入點(diǎn)。
再具體到特定主題的難度時(shí),許多人認(rèn)為 Rust 的“生命周期(Lifetimes)”難度最高,其次是 Ownership,61.4% 的受訪者表示,生命周期的使用既棘手又非常困難。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Rust 語言 2020 調(diào)查報(bào)告發(fā)布:“Rust 太難,生命周期更難”
本文地址:https://www.oschina.net/news/123780/rust-survey-2020