การเรียน Rust สำหรับคนที่รู้ Python — เปรียบเทียบ Python ↔ Rust แบบเข้าใจง่าย
ชุดเอกสารนี้ออกแบบมาเพื่อ สอน Rust สำหรับคนที่รู้ Python โดยเปรียบเทียบ Python ↔ Rust แบบเข้าใจง่าย เน้นการเรียนรู้ที่ นำไปใช้ได้จริง และเข้าใจ mental model ของ Rust ไม่ใช่แค่ syntax
หลังจากอ่านชุดเอกสารนี้ คุณจะสามารถ:
- ✅ ออกแบบโปรแกรมแบบ Rust ได้: owner/borrow/error path ชัด
- ✅ อ่าน compiler error แล้วแก้ได้เป็นขั้นตอน (ไม่เดา)
- ✅ แปลง data model จาก dict/list ไปเป็น struct/Vec/HashMap แบบไม่ปวด
- ✅ วางโครงโปรเจกต์ + workflow ให้ทำงานจริงได้ (
cargo check/fmt/clippy/test)
- Start Basic — setup, hello world, variables, ownership intro, Option/Result
- Ownership & Borrowing — แกนที่ทำให้ Rust แตกต่าง
- Error Handling — Option/Result,
?, error types - Collections & Data Modeling — dict/list → HashMap/Vec/struct
- Modules & Project Structure — monolith → mod/crate
- Tooling & Workflow — cargo, fmt, clippy, test
- Config & Serde JSON — อ่าน JSON แบบค่อย ๆ tighten schema
- CLI Basics — ทำ CLI แบบ Rust: parse → command enum → execute
- Shared State & Concurrency — Arc/Mutex/RwLock
- Logging Design — log pipeline ที่แยก concerns
- Mini Projects — mini exercises ที่ปลอดภัย
- Learning Playbook — playbook การเรียนต่อ
- Lifetimes Practical — lifetimes แบบใช้จริง
- Traits & Generics — duck typing → trait bounds
- Iterators & Closures — map/filter/collect
- Testing & Debugging — test structure, assert
- Serde Advanced — serde ขั้นสูง
- Rust Macros — macros แบบเข้าใจง่าย
- Production Hygiene — production: deps/secrets/config/logs
จะต่อเนื่องที่สุด เพราะบทถูกเรียงตาม "ลำดับที่สมองคนมาจาก Python มักสะดุด"
โหมด A: ปูพื้นให้เขียน Rust ได้เร็ว (แนะนำสำหรับมือใหม่)
01 → 02 → 03 → 04
โหมด B: ทำงานจริงแบบโปรเจกต์เล็ก (เน้นใช้งาน)
05 → 06 → 10 → 09
โหมด C: สะสมทักษะต่อเนื่อง (แก้ตอนสะดุด)
12 — เปิดทันทีเมื่อเจอ borrow checker/compile error
11 — ฝึกแบบ "หนึ่งโปรเจกต์ = หนึ่ง crate"
- ✍️ เขียนเป็นภาษาไทย — เข้าใจง่ายกว่าอ่านภาษาอังกฤษ
- 🔄 เปรียบเทียบ Python ↔ Rust — ช่วยให้เข้าใจ mental model ของ Rust
- 📊 มีตัวอย่างโค้ดจริง — ไม่ใช่แค่ทฤษฎี
- 🎯 นำไปใช้ได้จริง — เน้น pattern ที่ใช้ใน production
- 🔧 เจาะจง — เลี่ยงไปทางที่คน Python มักสะดุด
# ติดตั้ง Rust toolchain
rustc --version
cargo --version
# สร้างโปรเจกต์แรก
cargo new hello_rust
cd hello_rust
cargo runเครื่องมือแนะนำ:
rust-analyzer— IDE extension (VS Code / IntelliJ IDEA)cargo— build/test/dependency managercargo check— เช็คโค้ดเร็วโดยไม่ build
MIT License — อนุญาตให้ใช้ได้ทั้งเชิงพาณิชย์และส่วนตัว
ถ้าต้องการมีส่วนร่วม หรือพบข้อผิดพลาด สามารถ:
- Open issue
- Pull request
- ติดต่อผ่านทาง GitHub
สนุกกับการเรียน Rust! 🦀