Tutorial on Intro to Rust Programming
Sangam SwadiK
Posted on November 25, 2022
Summary posted by: Sangam SwadiK
Intro to Rust
The Data Science community has greatly benefitted from the python ecosystem(scipy, numpy, scikit-learn etc.) which has tools at every step of the Data Science workflow. Under the hood most of these python libraries use C/C++ which has bindings with python to improve performance. Although this has reduced developmental time, it is not without the reduction in performance as python is not known for its performance.
This is where Rust comes in! It provides performance similar to C/C++ but
better memory use and concurrency. It can be used with python just as C/C++ but with improved speed and safety.
There has been an upward trend in opensource tools written in Rust with interfaces to python eg: pydantic (moved to Rust in the recent release), polars which is very fast as indicated in the H2Oai benchmarks.
Into to event
An introduction to Rust Programming for complete beginners. This 2-hour video tutorial covers:
- what is Rust
- how to install Rust
- how to use Rust online
- basic structure of a Rust program
- core concepts of Rust
- a little CLI (command line interface) program
- Q&A
Video
Resources
- Event outline and notes
- GitHub repo: rust-intro
- Data science libraries in Rust: https://www.arewelearningyet.com/
- Rust book: https://www.rust-lang.org/learn
- micro (terminal editor): https://micro-editor.github.io/
Section Timestamps of Video
- 00:00:00 Beryl introduces Data Umbrella
- 00:05:35 Bruno begins presentation
- 00:13:00 Hello World
- 00:18:10 Cargo and Projects
- 00:24:50 Variable Definition
- 00:36:00 Type Inference
- 00:41:12 Mutability
- 00:46:56 Strong Typing
- 00:49:00 Variable Shadowing
- 00:53:30 Constants
- 00:58:21 Data Types
- 01:14:00 Static, Stack & Heap
- 01:23:58 Function
- 01:26:02 Docs
- 01:28:43 Ownership
- 01:34:36 Borrowing
- 01:37:37 Console Input
- 01:40:18 DEMO ERROR ignore this part :)
- 01:43:02 Read user input
- 01:45:22 Combinators
- 01:46:01 Result type
- 01:50:00 External Dependency
- 01:52:07 Random numbers
- 01:54:38 Type coercion
- 01:59:09 Complete program
- 02:01:47 Q & A
About the Speaker
Bio
Bruno is a Software Engineer who works developing the Red Hat Ansible Platform, he is member of the Python Software Foundation, creator of Dynaconf settings manager and a Rust enthisiast for 5+ years.
Connect with the Speaker, Bruno Rocha
- YouTube: @rochacbruno
- LinkedIn: Bruno Rocha
- Twitter: @rochacbruno
- GitHub: @rochacbruno
Posted on November 25, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.