對Rust的不好看法 - chrisdone
這是我目前對 Rust 想法的一個小總結。我不知道我是否會在五年後回顧,看看我的觀點是否發生了變化
好的看法
Rust 的宏非常好。它們的作用類似於 Lisp 的宏,與 Haskell 的不同。
Rust 具有型別類(“traits”)和和型別(“enums”)和模式匹配這一事實非常有吸引力。使例項在包範圍孤立而不是模組範圍是一個非常好的決定。
我也喜歡它對記錄的處理。
它的標準庫在一些方面做得很好,比如將字串處理為 UTF-8。
區分可變性有其優點,很容易看出一個函式是“道德上”純的——如果不是實際上純的——這有利於閱讀。
糖好嗎?
Rust 使用了神奇的糖結構,編譯器會自動為你插入解引用、複製、克隆和刪除,它具有最初吸引人的“底層很簡單”的品質,但在實踐中這會導致錯誤的編譯錯誤:編譯錯誤是編譯器一種它為你生成的東西的抱怨,而不是直接抱怨寫的東西。
這可以與 Haskell 使用提供語法糖的 monad 進行比較。你引入的魔法越多,新手就越難學習和談論。
對高效記憶體表示的迷戀
人們試圖理解為什麼他們完全合理的程式碼不適合 Rust 嚴格的記憶體限制?
不是技術不好用,而是你用錯了。
在實踐中,人們只是希望能夠編寫一個樹狀型別,而不必與編譯器下棋。我預測垃圾收集器最終會在 Rust 中流行起來。
這既是 Rust 的主要目標——像 C 一樣,但安全——也是它的主要缺點。人們將時間浪費在永遠不會產生效果的瑣事上。
unsafe
unsafe 的使用有點令人不安,因為每個庫都有它。但這與使用 FFI 沒有太大區別。我不認為這是一個很大的缺點。
重寫謬誤
重寫謬誤
我看到很多“我們用 Rust 重寫 X 並且它變得更快”的帖子。我認為,如果您在考慮效能的情況下從頭開始重寫任何內容,您將看到顯著的效能改進。我懷疑 Rust 本身的需要程度,與具有某些效能潔癖的開發人員相比,哪個更主要?
“友好”社群
所有新的語言社群都很好。當事情無關緊要時,人們沒有理由生氣。
一旦人們對某事持有利害關係,那就是事情升溫和發脾氣的時候。您可以透過在其中編寫大量程式碼或在其上建立業務來獲得程式語言的股份。當您對一門語言的工作方式感興趣時,您對可能使您做的工作超出需要或限制您的目標的變化非常敏感。
我已經看到了 Haskell 的情況。2007 年左右,當我開始使用 Haskell 時,社群對任何事物都很友好,福音派的,開放的。人們為此稱讚它。每個人都感到很幸運能夠使用這種令人興奮的語言。今天,它更像任何其他社群。發生了什麼?人們開始真正使用 Haskell,僅此而已。
Rust 正在經歷同樣的事情,而且速度要快得多。這是避免 Rust 的理由嗎?不會。但是“友好”的社群也不是加入即將到來的語言的理由。
非同步問題很大
非同步引入了長時間的、激烈的討論。
Rust 的問題是它的使用者想要一個執行時,但想要一個沒有執行時的選項。結果一團糟。
總的來說,我認為 Go、Erlang 和 Haskell 在這裡做出了更好的選擇。垃圾收集器和綠色執行緒使程式設計師的工作效率更高。
作為通用語言
我覺得 Rust 被定義為一種“系統”語言,但它被用來編寫 Web 應用程式和命令列工具以及各種東西。
這有點令人失望,但也是可以預見的:你的語言越成功,就會有越多的人將你的語言用於它不適合的事情。
相關文章
- 對”在嵌入式Rust中使用std“的看法Rust
- 對於Lumen和Laravel的看法Laravel
- 我對部落格的理解和看法
- 我對組隊學習的看法
- 談談我對996.icu的看法996
- 益普索:全球對更年期的看法
- 路人開發對測試人員的看法
- 大佬對 WEB 自動化測試的看法Web
- 對於iOS效能優化的一點看法iOS優化
- 我對技術潮流的一些看法
- 益普索:全球對AI的看法和期望AI
- 瑣碎的想法(三)對Java的批評的看法Java
- 我對中國科技行業的看法(譯文)行業
- 一個Python開發者對鴻蒙的看法Python鴻蒙
- 聊一聊我對測試開發的看法
- rust-admin 對 Rust 的第一印象Rust
- Java社群對Kotlin有什麼看法? - redditJavaKotlin
- 從一個罕見案例聊聊我對社群的看法
- 說說對測試培訓的一些看法
- 我對程式設計師35歲這道坎的看法程式設計師
- 你對於留存資料的看法可能該變一變了
- 陳星漢:我希望改變人們對遊戲的看法遊戲
- ArrayList的幾點看法
- IAS:漣漪效應——消費者對內容質量的看法
- 4.0體驗站|我對OceanBase 4.0社群版的體驗與看法
- 對於第九藝術的作用及其重要性的一些看法
- 應用程式安全的看法
- 【譯】對Rust中的std::io::Error的研究RustError
- 開發了幾個小程式後,說說我對小程式的看法
- Python Rust 迭代器對比PythonRust
- 我對自己公司產品的看法與一點微不足道的建議
- 談談對“華為向美國聯邦法院起訴美國”的看法
- 你有自己做過外包嗎?你對外包有什麼看法?
- 對不起,我錯了,這程式碼不好寫
- 設計師與玩家對於遊戲難度的看法為何相差甚遠?遊戲
- 談談我對 Flutter 未來發展 和 “巢狀地獄” 的淺顯看法Flutter巢狀
- 《代號:降臨》首測,它改變了我對朝夕光年自研的看法
- YouGov:超過一半的英國人對英國遊客持負面看法Go