Skip to content

Latest commit

 

History

History
141 lines (98 loc) · 6.19 KB

0.1-slides.md

File metadata and controls

141 lines (98 loc) · 6.19 KB
title description duration
Module 0.1 - Introduction to Rust
Introduction to Rust
30 minutes

Introduction to Rust

Notes:

Hi everyone, welcome to this openrust course by OpenGuild Chào và giới thiệu bản thân, giới thiệu course, giới thiệu openguild


Why Rust?

  • High-level language features without performance penalties
  • Program behaviors can be enforced at compile time
    • Enhanced program reliability
  • Built-in dependency management, similar to npm
  • Quickly growing ecosystem of libraries
  • Friendly & welcoming developer community

Notes: một số lý do để sử dụng ngôn ngữ lập trình Rust, nhấn mạnh những ưu điểm của nó. Các tính năng của ngôn ngữ cấp cao mà không bị giảm hiệu suất:

Rust cung cấp các tính năng thường thấy ở các ngôn ngữ lập trình cấp cao, như cú pháp dễ hiểu và các trừu tượng hiện đại, mà không phải hy sinh hiệu suất. Điều này có nghĩa là các nhà phát triển có thể viết mã hiệu quả và sạch sẽ hơn mà không phải lo lắng về chi phí hiệu năng khi chạy. Hành vi của chương trình có thể được kiểm tra ở thời điểm biên dịch:

Trình biên dịch của Rust thực hiện các kiểm tra an toàn và đúng đắn khác nhau trong quá trình biên dịch. Điều này giúp phát hiện lỗi sớm, giảm thiểu các lỗi trong chương trình cuối cùng. Nâng cao độ tin cậy của chương trình:

Nhờ các kiểm tra ở thời điểm biên dịch, Rust đảm bảo an toàn bộ nhớ và tính đồng thời mà không có các xung đột dữ liệu. Điều này nâng cao độ tin cậy của các chương trình bằng cách ngăn chặn các lỗi lập trình thông thường. Quản lý phụ thuộc tích hợp, tương tự npm:

Rust đi kèm với Cargo, một hệ thống quản lý gói và xây dựng tích hợp. Cargo giúp đơn giản hóa việc quản lý các phụ thuộc, xây dựng dự án và thậm chí chạy các bài kiểm tra, tương tự như cách npm hoạt động cho JavaScript. Hệ sinh thái thư viện phát triển nhanh chóng:

Cộng đồng Rust đang tích cực phát triển một hệ sinh thái phong phú các thư viện (crates) có thể dễ dàng tích hợp vào các dự án, giúp phát triển nhanh chóng và tái sử dụng mã. Cộng đồng phát triển thân thiện và chào đón:

Cộng đồng Rust được biết đến là hỗ trợ và hòa đồng, rất hữu ích cho người mới học cũng như các nhà phát triển có kinh nghiệm, tạo ra một môi trường tích cực để hợp tác và phát triển.


Technical Rust Goodies

  • First-class multithreading
    • Compiler error to improperly access shared data
  • Type system:
    • Can uncover bugs at compile time
    • Makes refactoring simple
    • Reduces the number of tests needed
  • Module system makes code separation simple
  • Adding a dependency is 1 line in a config file
  • Tooling:
    • Generate docs, lint code, auto format

Notes:

rust là một lựa chọn hấp dẫn cho lập trình viên Multithreading hạng nhất:

Rust hỗ trợ đa luồng (multithreading) một cách mạnh mẽ và an toàn. Trình biên dịch của Rust sẽ tạo ra lỗi nếu bạn cố gắng truy cập không đúng cách vào dữ liệu chia sẻ giữa các luồng, giúp ngăn chặn các lỗi đồng bộ hóa. Hệ thống kiểu dữ liệu:

Có thể phát hiện lỗi khi biên dịch: Hệ thống kiểu của Rust giúp phát hiện lỗi ở thời điểm biên dịch, giảm thiểu lỗi runtime. Làm cho việc tái cấu trúc đơn giản: Việc thay đổi mã (refactoring) trở nên dễ dàng hơn vì hệ thống kiểu giúp đảm bảo tính đúng đắn của mã sau khi thay đổi. Giảm số lượng bài kiểm tra cần thiết: Bởi vì nhiều lỗi được phát hiện sớm, số lượng kiểm tra cần thiết để đảm bảo mã hoạt động đúng cũng giảm đi. Hệ thống module làm cho việc phân tách mã trở nên đơn giản:

Rust có hệ thống module mạnh mẽ giúp phân chia mã nguồn thành các phần nhỏ hơn, dễ quản lý hơn. Thêm một phụ thuộc chỉ là một dòng trong file cấu hình:

Việc thêm các thư viện phụ thuộc (dependencies) trong Rust rất đơn giản, chỉ cần thêm một dòng vào file cấu hình (Cargo.toml). Công cụ hỗ trợ (Tooling):

Tạo tài liệu, kiểm tra mã, tự động định dạng: Rust cung cấp các công cụ để tạo tài liệu tự động, kiểm tra mã (linting), và định dạng mã (auto-formatting), giúp cải thiện chất lượng và duy trì mã dễ dàng hơn.


Setup | Tool Installation


Install - Windows

  • rustup
    • Manages Rust installation
  • Visual Studio Code
    • Coding environment
  • MSVC C++ Build Tools
    • Needed to build on Windows

Install – Other Platforms

  • Mac
    • brew install rustup-init
    • brew install --cask visual-studio-code
  • Linux
  • After package manager install:
    • rustup toolchain install stable

Learn more