ป้ายกำกับ: Rust

Rust: เริ่มขึ้นสนิมRust: เริ่มขึ้นสนิม

Rust! บอกเลยว่าภาษานี้เด่นเรื่องความเร็ว ความปลอดภัยของหน่วยความจำ (Memory Safety) และ performance ที่เทียบเท่า C/C++ โดยไม่ต้องมี Garbage Collector แต่ช่วงแรกอาจจะมีโค้งการเรียนรู้ (Learning Curve) เรื่อง Ownership และ Borrowing ที่จุกจิกหน่อย แต่พอเข้าใจแล้วจะเขียนสนุกและมั่นใจมากครับ

นี่คือ Roadmap และขั้นตอนเริ่มต้นแบบเป็นระบบครับ


ติดตั้งเครื่องมือ (Setup Environment)

เครื่องมือหลักของ Rust คือ rustup ซึ่งเป็นตัวจัดการเวอร์ชันและคอมไพเลอร์

  • Linux / macOS: เปิด Terminal แล้วรันคำสั่ง:
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Windows: โหลดตัวติดตั้ง rustup-init.exe จากเว็บหลัก rust-lang.org
    (แนะนำให้มี Visual Studio Build Tools ติดเครื่องไว้ด้วย)

Editor แนะนำ: VS Code ร่วมกับส่วนขยาย rust-analyzer (ช่วยเรื่อง Auto-complete, Type checking และแจ้ง Error แบบ real-time ดีมาก ๆ )


เริ่มต้นสร้างโปรเจกต์แรกด้วย cargo

Rust มี build tool และ package manager ในตัวชื่อ Cargo ซึ่งทำให้ชีวิตสะดวกมาก

# 1. สร้างโปรเจกต์ใหม่ชื่อ hello_rust
cargo new hello_rust

# 2. เข้าไปในโฟลเดอร์โปรเจกต์
cd hello_rust

# 3. สั่งรันโปรแกรม
cargo run

คำสั่ง cargo run จะทำการคอมไพล์และรันโค้ดใน src/main.rs ให้ทันที


หัวข้อสำคัญที่ต้องลุย (Rust Core Concepts)

เพื่อให้ไปได้ไว แนะนำให้เก็บเนื้อหาตามลำดับนี้ครับ

  1. การประกาศตัวแปร & Types:
    • เข้าใจเรื่อง Immutability (ตัวแปรใน Rust ค่าเปลี่ยนไม่ได้โดย default ต้องใส่ mut ถ้าจะเปลี่ยนค่า เช่น let mut x = 5;)
  2. Ownership, Borrowing & References (หัวใจของ Rust):
    • Ownership: ทุกข้อมูลมีเจ้าของได้แค่ 1 ตัว
    • Borrowing: การยืมข้อมูลผ่าน Ref (& สำหรับยืมอ่าน, &mut สำหรับยืมแก้)
  3. Structs & Enums:
    • Rust ไม่มี OOP แบบคลาสเดิมๆ แต่ใช้ Struct เก็บข้อมูล และใช้ Enum ร่วมกับ Pattern Matching (match) ซึ่งทรงพลังมาก
  4. Error Handling (Result & Option):
    • Rust ไม่มี null (ใช้ Option<T> แทน) และไม่มี Exception แบบภาษาอื่น (ใช้ Result<T, E> จัดการ error ชัดเจน)

แหล่งเรียนรู้ฟรีที่แนะนำที่สุด

  • 📖 The Rust Programming Language (The Book): หนังสือฟรีอย่างเป็นทางการจากผู้พัฒนา Rust (ควรอ่านมากๆ)
  • 🏋️ Rustlings: แบบฝึกหัดโจทย์เล็กๆ เอาไว้ฝึกแก้โค้ดที่รันไม่ผ่านด้วยตัวเอง (ติดตั้งผ่าน CLI แล้วลุยโจทย์ตามบทเรียนได้เลย)
  • 💻 Rust by Example: รวมตัวอย่างโค้ดพร้อมคำอธิบายแบบเน้นนำไปใช้จริง

อ่านเพิ่มเติม