COSCUP x RubyConf TW 2021

那些Rust裡好用的抽象與實用語法火力展示
07-31, 14:50–15:20 (Asia/Taipei), RB105 - Main Track
Language: 漢語


English Abstract

Useful abstractions at rust and it’s practical usage

Agenda

  1. Why Rust
  2. Colllection and Iterator
  3. Result and Option
  4. Conclusion
Talk Length

40

您是否知悉並同意如採遠端形式分享,需提供預錄影片(您需同意大會才能接受您的稿件) – yes Translate Title

Useful abstractions at rust and it’s practical usage

Talk Length

30

slido url

https://app.sli.do/event/tdafbkfk

hackmd url

https://hackmd.io/@coscup/rymNETD0O/%2F%40coscup%2Fr1mgNawRd

Abstract

Rust具有媲美C/C++執行速度,但也因為豐富的語言特性與規則,也常讓許多初學者卻步。

在這個講座裡,我們會將rust和主流的高階語言做比較,讓聽者在有對比的狀況下理解如何使用rust裡好用的功能處理問題,同時順帶了解rust在語法設計上的一些Trade off與擅長的地方。

講題涉及議題:

  1. Rust裡的Collection與使用
  2. Option類型與空值處理
  3. Result類型與錯誤處理

幾個Rust的知名專案:

  1. Deno: javascript與typescript的runtime,同時也使用rust的tokio作為nodejs libuv的替代品。
  2. Ripgrep: 用於command line上的高效搜尋工具,和使用golang的fzf工具合用超級方便。
  3. Tokio: 基於event-driven與non-blocking io的跨平台非同步程式runtime。口號是Built by the community, for the community, 同時也有各大軟體公司在支撐著該專案。

(看了tokio官網首頁的贊助公司以後就可以想像得到為什麼當初NodeJs之父Ryan Dahl頭也不回的拋棄了libuv改用tokio與rust開發開源專案Deno了QAQ)。

Rust的幾個使用場景

  1. 支援直接編譯成Webassembly,提高前端程式的執行效能,wasm也可用於伺服器被nodejs與deno直接執行。
  2. 零成本的C ffi,被用於開發系統級別與底層的語言 [1]。
  3. 高度節省記憶體的設計與媲美C/C++的執行速度,適用於高性能與吞吐量大的伺服器。

Reference:

[1] Rust-Once-Run-Everywhere
https://blog.rust-lang.org/2015/04/24/Rust-Once-Run-Everywhere.html