為什麼我從Java切換到Rust? Opensource.com
Rust感覺像是我要去的地方:結構合理,富有表現力,可以幫助您做正確的事。
經過多年的Java開發,我最近開始學習Rust。有五個要點是:
- Rust感到很熟悉
- 引用很有意義
- 所有權會很有意義
- Cargo很有幫助
- 編譯器很棒
我絕對支援所有這些,但是我還有更多話要說,因為我現在覺得自己像Rustacean :
- 我不想再用其他任何東西程式設計。
- 我已經擺脫了簡單的魔術咒語。
這兩個語句是什麼意思?好吧,第一個很簡單:Rust感覺像是個理想的地方。它結構合理,表達力強,可以幫助您做正確的事,它具有出色的文件和工具,並且有一個很棒的社群。而且,當然,所有內容都是開源的,這是我深深關心的。
這是使用Rust的示例:
// Where checkhashes is pre-defined vector of hashes to verify let algorithms = vec![String::from("SHA-256"); checkhashes.len()]; |
這將建立一個新的向量,稱為“algorithms”,其長度與向量“ checkhash”相同,並用字串“ SHA-256”填充。
第二件事?好吧,我決定為了正確學習Rust,我應該參加一個最初用Java編寫的專案,並希望在相當慣用的Rust中重新實現它。不久之後,在遭遇錯誤時我圍繞實現而不是語法去解決錯誤,是基於編譯器輸出對我的程式碼進行細微、看似隨機的更改。換句話說,我正在讓事情進行編譯,瞭解為什麼要編譯,然後才犯了程式設計錯誤。
這是另一個例子,應該感到很熟悉:
fn usage() { println!("Usage: findfromserial KEY_LENGTH INITIAL_SALT CHECK_HASH1 [CHECK_HASH2, ...]"); std::process::exit(1); } |
這是向前邁出的一大步。當您開始學習一種語言時,總會複製和貼上在其他地方看到的程式碼,或者在不熟悉的結構中擺弄直到它們起作用為止。程式碼或產生您不太瞭解但似乎可以正常工作的現象有時被稱為“使用了魔術”,一些語言特別傾向於這種方式,但是許多(大多數?)學習新語言的人在剛開始時只是因為他們希望事情能起作用。
相關文章
- 為什麼Discord從Go切換到Rust?GoRust
- 為什麼我們從Yarn切換到pnpmYarnNPM
- 為什麼我們從RabbitMQ切換到apache kafka?MQApacheKafka
- 為什麼我們從Webpack切換到Vite - ReplitWebVite
- 為什麼應該切換到實時渲染
- 為什麼我從 Mac 換到了 LinuxMacLinux
- 我將從VS Code切換到VS Codium
- 為什麼我從 npm 到 yarn 再到 npm?NPMYarn
- 為什麼我不用ViewPager或RecyclerView來做上下滑切換Viewpager
- Kotlin可以從Rust中學到什麼 - CedricKotlinRust
- 我為什麼使用 JavaJava
- 我為什麼會從程式不喜歡加{}到加{}
- 從NodeJS切換到Ruby on Rails - nikodunkNodeJSAI
- 如何從 Docker Desktop 切換到 ColimaDocker
- 從爬⾏到奔跑 - 我們為什麼需要單元測試?
- Rust 問答之從 HelloWorld 中可以學到什麼Rust
- 我為什麼從php轉go?PHPGo
- 從 HTTP 切換到 HTTPS,這下我的技術部落格安全了吧?HTTP
- Android逆向之路—為什麼從後臺切換回app又顯示廣告了AndroidAPP
- #AWS:為什麼我們要持續投資Rust?Rust
- kvm切換器是什麼?
- ABP VNext從單體切換到微服務微服務
- 系統呼叫時為什麼發生任務切換?
- 從AIGC到AGI,為什麼我們需要更多的“技術信仰派”?AIGC
- 我們為什麼要學Java?Java好在哪?Java
- 為什麼我從 Google 辭職而為自己工作Go
- 超硬核的Java工程師分享,什麼是Java?為什麼我要做Java,我是如何學習Java的?Java工程師
- 為什麼要學習 RustRust
- 為什麼選擇使用Rust?Rust
- Aembit為什麼選擇 Rust?Rust
- 切換java版本Java
- 我為什麼要升級到Ionic3
- Redis主從切換Redis
- Java的CQRS和事件溯源ES入門:如何從CRUD切換到CQRS/ES - BaeldungJava事件
- 實戰:如何優雅的從 Skywalking 切換到 OpenTelemetry
- 178-ABP VNext從單體切換到微服務微服務
- Linux核心態是什麼?使用者態如何切換到核心態?Linux
- 將Debian從Legacy切換為UEFI啟動模式模式