Language: 漢語
07-31, 14:50–15:20 (Asia/Taipei), RB105 - Main Track
Useful abstractions at rust and it’s practical usage
Agenda
- Why Rust
- Colllection and Iterator
- Result and Option
- Conclusion
40
您是否知悉並同意如採遠端形式分享,需提供預錄影片(您需同意大會才能接受您的稿件) – yes Translate Title –Useful abstractions at rust and it’s practical usage
Talk Length –30
slido url – hackmd url –https://hackmd.io/@coscup/rymNETD0O/%2F%40coscup%2Fr1mgNawRd
Abstract –Rust具有媲美C/C++執行速度,但也因為豐富的語言特性與規則,也常讓許多初學者卻步。
在這個講座裡,我們會將rust和主流的高階語言做比較,讓聽者在有對比的狀況下理解如何使用rust裡好用的功能處理問題,同時順帶了解rust在語法設計上的一些Trade off與擅長的地方。
講題涉及議題:
- Rust裡的Collection與使用
- Option類型與空值處理
- Result類型與錯誤處理
幾個Rust的知名專案:
- Deno: javascript與typescript的runtime,同時也使用rust的tokio作為nodejs libuv的替代品。
- Ripgrep: 用於command line上的高效搜尋工具,和使用golang的fzf工具合用超級方便。
- Tokio: 基於event-driven與non-blocking io的跨平台非同步程式runtime。口號是
Built by the community, for the community
, 同時也有各大軟體公司在支撐著該專案。
(看了tokio官網首頁的贊助公司以後就可以想像得到為什麼當初NodeJs之父Ryan Dahl頭也不回的拋棄了libuv改用tokio與rust開發開源專案Deno了QAQ)。
Rust的幾個使用場景
- 支援直接編譯成Webassembly,提高前端程式的執行效能,wasm也可用於伺服器被nodejs與deno直接執行。
- 零成本的C ffi,被用於開發系統級別與底層的語言 [1]。
- 高度節省記憶體的設計與媲美C/C++的執行速度,適用於高性能與吞吐量大的伺服器。
Reference:
[1] Rust-Once-Run-Everywhere
https://blog.rust-lang.org/2015/04/24/Rust-Once-Run-Everywhere.html