Danh sách bài viết

Bài 2: Lịch Sử Rust Và Vị Thế Trong Landscape 2026

Bài 2 của series Rust Cơ Bản — lược sử Rust từ personal project của Graydon Hoare năm 2006, Mozilla sponsor giai đoạn 2010-2014, Rust 1.0 ra mắt 15/5/2015, hệ thống Edition (2015 → 2024) và Rust Foundation 2021. Phần cuối điểm lại vị thế Rust năm 2026 trong Linux kernel, Windows kernel driver, AWS Lambda, Cloudflare Pingora và bảng xếp hạng Stack Overflow Survey.

09/06/2026
12 phút đọc
2 lượt xem
1

Mục Tiêu Bài Học

Sau bài học, bạn sẽ:

  • Biết Rust khởi nguồn từ personal project của Graydon Hoare năm 2006, không phải sản phẩm đặt hàng của Mozilla.
  • Hiểu vai trò của Mozilla giai đoạn 2010-2020 và dự án Servo browser engine.
  • Nắm ý nghĩa cột mốc Rust 1.0 ngày 15/5/2015 và lời cam kết stability + semver mà core team đưa ra.
  • Hiểu Edition System (2015, 2018, 2021, 2024) là gì, vì sao cần, và cách opt-in qua edition = "2024" trong Cargo.toml.
  • Biết Rust Foundation thành lập 2/2021 với 5 founding member (AWS, Google, Huawei, Microsoft, Mozilla) — Rust độc lập khỏi Mozilla từ thời điểm đó.
  • Có cái nhìn tổng quan về vị thế Rust năm 2026 trong Linux kernel, Windows, cloud infrastructure và xếp hạng cộng đồng.

Bài này tập trung vào lược sử và bối cảnh — chưa viết code. Bài 3 sẽ phân tích sâu các ưu điểm cốt lõi (safety, performance, ergonomics) làm nên thành công của Rust.

2

Khởi Nguồn Từ Graydon Hoare (2006-2009)

Rust bắt đầu năm 2006 như một personal project của Graydon Hoare, khi đó là kỹ sư tại Mozilla. Theo lời kể của chính Graydon trên mailing list rust-dev cũ, ông muốn có "một ngôn ngữ để ám ảnh trong cả thập kỷ tiếp theo" (a language to obsess over for the next decade) — không phải vì công ty yêu cầu, mà vì các ngôn ngữ hệ thống đương thời (C, C++) khiến ông quá mệt mỏi với bugs liên quan đến memory safety.

Cái tên "Rust" tương truyền được lấy từ rust fungi — họ nấm gỉ sét, nhóm vi sinh được Graydon mô tả là "over-engineered for survival" (tiến hoá quá mức để sống sót). Đây là ẩn dụ: ông muốn một ngôn ngữ được over-engineered cho an toàn bộ nhớ, ngay cả khi điều đó khiến compiler khó tính.

Giai đoạn 2006-2009 Rust được viết hoàn toàn bằng OCaml (compiler bootstrap), chưa public, chỉ có vài người trong nội bộ biết. Cú pháp ban đầu khác xa Rust hôm nay: có sigil kiểu Perl, có typestate analysis phức tạp, có cả garbage collector tuỳ chọn. Phần lớn các đặc điểm này đã bị bỏ trước Rust 1.0 để ngôn ngữ gọn lại.

Điểm cần nhấn mạnh: ownership và borrow checker — đặc điểm signature của Rust hôm nay — không có ngay từ đầu. Chúng được phát triển dần qua nhiều năm prototype và refactor, định hình rõ vào khoảng 2012-2014, sau khi Mozilla đã chính thức sponsor.

3

Mozilla Sponsor & Servo (2010-2014)

Năm 2009 Mozilla bắt đầu sponsor Rust chính thức, cấp budget cho Graydon và đội nhỏ làm full-time. Tháng 6/2010 Rust được công bố ra công chúng lần đầu tại Mozilla Summit và sau đó là OSCON 2010. Lập trình viên bên ngoài bắt đầu góp PR vào repo trên GitHub.

Cuối 2010, đội Rust khởi động Servo — một browser engine experimental viết bằng Rust, với mục tiêu tận dụng parallelism trên CPU đa nhân (Gecko, engine của Firefox khi đó, gặp khó vì single-threaded layout). Servo là raison d'être thực dụng nhất của Rust giai đoạn này: ngôn ngữ phải đủ tốt để viết được một browser engine production-grade.

Quá trình viết Servo trực tiếp định hình Rust:

  • 2011: Rust self-host — compiler được rewrite bằng chính Rust (bootstrap khỏi OCaml).
  • 2012-2013: bỏ green threads, bỏ @ (managed pointer), bỏ typestate. Ngôn ngữ gọn lại đáng kể.
  • 2013-2014: borrow checker được hoàn thiện, ownership trở thành cơ chế memory management chính. Trait system stabilize.
  • 2014: Cargo và crates.io ra đời, giải quyết bài toán dependency management mà C/C++ thiếu suốt nhiều thập kỷ.

Đến cuối 2014 Rust đã đủ ổn định để Mozilla bắt đầu prep cho release 1.0. Đoạn code Servo sau này trở thành nền tảng cho Stylo — CSS engine viết bằng Rust được merge vào Firefox Quantum (2017), giúp giảm 30% thời gian render trang.

4

Rust 1.0 Ra Mắt 5/2015

Ngày 15/5/2015, Rust 1.0 chính thức ra mắt. Post trên blog rust-lang.org tiêu đề ngắn gọn: "Rust 1.0". Đây không phải release giới thiệu thêm tính năng — phần lớn cú pháp Rust hôm nay đã có sẵn từ trước 1.0. Ý nghĩa thực sự của 1.0 là lời cam kết stability:

  • Code biên dịch được trên Rust 1.0 sẽ tiếp tục biên dịch được trên mọi version 1.x sau đó. Cam kết này được giữ liên tục cho tới 2026, qua hàng trăm release.
  • Stdlib follow semver: minor version bump không phá vỡ API public. Breaking change chỉ được phép qua deprecation cycle dài.
  • Compiler phát hành theo train model 6 tuần (giống Chrome / Firefox): stable, beta, nightly cùng tiến.

Cam kết này quan trọng vì đa số ngôn ngữ "new and shiny" trước đó (Scala 2.x → 3.x, Python 2 → 3) đều có giai đoạn ecosystem fracture khi breaking change xảy ra. Rust core team chọn cách ngược lại: thà chậm thêm tính năng còn hơn phá code cũ. Kết quả là code Rust viết năm 2015 ngày nay vẫn chạy được — chỉ cần cargo build.

Khi 1.0 ra mắt, ecosystem còn rất nhỏ: crates.io có vài trăm crate, IDE support gần như không có. Nhưng nền móng đã đặt — và 8 năm sau, crates.io vượt mốc 150.000 crate.

5

Edition System: 2015 → 2018 → 2021 → 2024

Cam kết "không phá code cũ" tạo ra mâu thuẫn: làm sao thêm tính năng mới mà không khoá ngôn ngữ vào quyết định cú pháp năm 2015 mãi mãi? Câu trả lời là Edition System, ra đời với Rust 1.31 (12/2018).

Edition là một "checkpoint" cho phép thay đổi cú pháp opt-in mà không phá crate cũ. Bốn edition đến nay:

  • Edition 2015 (mặc định cho Rust 1.0): cú pháp gốc.
  • Edition 2018 (Rust 1.31, 12/2018): module system mới (path absolute từ crate root, không cần extern crate), async/await reserved keyword, NLL (Non-Lexical Lifetime) trở thành default.
  • Edition 2021 (Rust 1.56, 10/2021): disjoint capture trong closure, IntoIterator cho array, panic macro v2, or-pattern trong macro_rules.
  • Edition 2024 (Rust 1.85, 2/2025): RPIT lifetime capture mới, let chains stable trong điều kiện, async closure, never type fallback đổi sang !, một số reserved keyword mới (gen, try).

Cách opt-in cực kỳ đơn giản, chỉ một dòng trong Cargo.toml:

[package]
name = "my-app"
version = "0.1.0"
edition = "2024"

Crate khai báo edition nào thì compiler áp dụng rule cú pháp của edition đó. Hai crate khác edition vẫn link được với nhau — vì Edition không thay đổi ABI hay representation, chỉ thay rule front-end của compiler. Đây là điểm mấu chốt: project mới có thể dùng Edition 2024 ngay, mà vẫn import được dependency cũ viết Edition 2018.

Khi muốn migrate sang edition mới, lệnh cargo fix --edition auto rewrite phần lớn breaking syntax. Bài 22 (group Cargo) sẽ đi sâu hơn về workflow migrate. Series này mặc định dùng Edition 2024 cho mọi snippet code.

6

Rust Foundation 2021

Tháng 8/2020, Mozilla layoff lớn, ảnh hưởng đội Servo và một phần đội Rust. Sự kiện này đặt ra câu hỏi tồn vong: nếu Mozilla rút lui hoàn toàn, ai sẽ lo tài chính và pháp lý cho Rust?

Câu trả lời đến ngày 8/2/2021: Rust Foundation được thành lập như một tổ chức phi lợi nhuận độc lập, đăng ký tại bang Delaware (Mỹ). Năm founding member ban đầu:

  • Amazon Web Services (AWS) — dùng Rust trong Firecracker (microVM của Lambda), Bottlerocket OS, S3 storage layer.
  • Google — dùng Rust trong Android, Fuchsia OS, Chromium components.
  • Huawei — dùng Rust trong storage và networking stack.
  • Microsoft — đầu tư Rust cho Windows kernel components, Azure.
  • Mozilla — sponsor lịch sử, chuyển IP (trademarks, infrastructure) sang Foundation.

Đến 2026, danh sách member đã mở rộng tới hàng chục công ty (Meta, Arm, JetBrains, Shopify, 1Password, Dropbox...) với 3 tier membership: Platinum, Gold, Silver. Foundation chịu trách nhiệm:

  • Tài trợ infrastructure (CI build runner, crates.io hosting — khoảng 3-4 PB traffic/tháng).
  • Giữ trademark "Rust" và logo (bộ cua biển — không phải linh vật chính thức nhưng được Foundation dùng).
  • Cấp grant cho maintainer key, security audit, accessibility.
  • Đại diện pháp lý khi có incident (vd: vụ "Rust Foundation trademark policy" 4/2023 — đã được sửa lại sau community feedback).

Điểm cần phân biệt: Rust Foundation không quyết định technical direction. Quyền đó vẫn thuộc về Rust Project — các team kỹ thuật (lang, compiler, libs, infra, cargo...) qua RFC process trên GitHub. Foundation chỉ lo phần "around" ngôn ngữ.

7

Vị Thế Rust 2026

Năm 2026, Rust đã đi ra rất xa khỏi vai trò "ngôn ngữ thử nghiệm cho browser engine". Một số chỉ dấu cụ thể:

Operating system kernel

  • Linux kernel: Rust support chính thức được merge vào nhánh main từ kernel 6.1 (12/2022). Driver Rust thực sự đầu tiên (Apple AGX GPU, NVMe, PHY drivers) merge từ kernel 6.8 (3/2024) trở đi. Đến 2026, kernel 6.10+ có hàng chục driver Rust được maintain, một phần subsystem (Android Binder driver, một số filesystem helper) đã có path Rust song song với C.
  • Windows kernel: Microsoft công bố tại BlueHat 2023 rằng Windows 11 đã có một số kernel driver viết bằng Rust (DWriteCore, Win32K-related components). Đến 2026, nhiều driver mới của Windows mặc định viết Rust.
  • Android: Google công bố trong Android 13 và update tiếp ở Android 14/15/16 rằng tỷ lệ code Rust mới trong Android Open Source Project (AOSP) đã vượt code C/C++ mới. Memory-safety vulnerability trong Android giảm còn dưới 25% từ mức 76% năm 2019.

Cloud & infrastructure

  • AWS Lambda runtime: Firecracker (microVM hypervisor) viết Rust, chạy 100% Lambda + Fargate. AWS cũng publish Rust runtime official cho Lambda function.
  • Cloudflare Pingora: HTTP proxy framework viết Rust thay thế nginx, serve hơn 1 triệu req/giây cho Cloudflare edge network. Open-source từ 2024.
  • Discord: chat infra rewrite từ Go sang Rust (2020), giảm 90% memory footprint và loại bỏ GC pause.
  • Dropbox Magic Pocket: storage backend cho exabyte-scale, viết Rust từ 2016.
  • Database: TiKV, Materialize, SurrealDB, ScyllaDB driver — đều Rust core.

Cộng đồng & xếp hạng

  • Stack Overflow Developer Survey: Rust giữ vị trí "most loved language" liên tục 8 năm (2016-2023). Survey 2024 đổi format thành "admired and desired" — Rust vẫn dẫn đầu nhóm "admired" với 83% lập trình viên đã dùng muốn dùng tiếp.
  • crates.io: vượt 150.000 crate (2026), download tổng hơn 50 tỷ.
  • JetBrains: phát hành RustRover (IDE riêng cho Rust) tháng 9/2023, free cho non-commercial.
  • Government adoption: White House ONCD report 2/2024 khuyến nghị chuyển khỏi C/C++ sang ngôn ngữ memory-safe (Rust được nêu tên cụ thể). NSA, CISA có guidance tương tự.

Tóm lại: năm 2026 Rust không còn là "lựa chọn thử nghiệm". Nó là một trong số ít ngôn ngữ được cả Microsoft, Google, Amazon, Cloudflare, Linux kernel team đầu tư đồng thời ở mức production critical.

8

Tổng Kết

  • Rust khởi nguồn từ personal project của Graydon Hoare năm 2006, không phải đặt hàng của Mozilla.
  • Mozilla sponsor chính thức từ 2009-2010, public ra công chúng tại OSCON 2010, đẩy mạnh qua dự án Servo browser engine.
  • Rust 1.0 ra mắt ngày 15/5/2015 — điểm quan trọng nhất là cam kết stability + semver, không phải tính năng mới.
  • Edition System (2015, 2018, 2021, 2024) cho phép thêm cú pháp mới opt-in mà không phá crate cũ. Bật bằng edition = "2024" trong Cargo.toml.
  • Rust Foundation thành lập 2/2021 với 5 founding member AWS, Google, Huawei, Microsoft, Mozilla — Rust độc lập khỏi Mozilla từ đây. Foundation lo tài chính, pháp lý; technical direction vẫn ở Rust Project.
  • Năm 2026 Rust được dùng production critical trong Linux kernel 6.1+, Windows kernel driver, Android (vượt C/C++ về dòng code mới), AWS Firecracker, Cloudflare Pingora, Discord, Dropbox.
  • Stack Overflow Survey: most loved 8 năm (2016-2023), tiếp tục dẫn đầu "admired" trong format mới 2024-2025.
9

Bài Tập Củng Cố

Tự trả lời, đáp án ở cuối:

  1. Có đúng không khi nói "Mozilla là người tạo ra Rust"? Vai trò thực sự của Mozilla và Graydon Hoare khác nhau như thế nào?
  2. Cam kết quan trọng nhất của Rust 1.0 (15/5/2015) là gì? Vì sao cam kết này lại có ý nghĩa với ecosystem?
  3. Bạn có một crate cũ viết Edition 2018 và muốn tạo project mới dùng Edition 2024. Hai crate này có link với nhau được không? Vì sao?
  4. Rust Foundation và Rust Project khác nhau ở chỗ nào? Cơ quan nào quyết định việc thêm async closure vào ngôn ngữ?
  5. Năm 2026, một developer hỏi "Rust có đủ trưởng thành cho production?". Hãy đưa ra 3 dẫn chứng cụ thể (có số liệu / mốc thời gian) để trả lời.
Đáp án
  1. Không hoàn toàn đúng. Graydon Hoare bắt đầu Rust năm 2006 như personal project trước khi Mozilla biết đến. Mozilla sponsor chính thức từ 2009-2010, cấp budget, hire thêm contributor và tạo dự án Servo làm động lực kỹ thuật. Nói chính xác: Graydon là người khai sinh, Mozilla là người nuôi lớn giai đoạn 2010-2020.
  2. Cam kết stability: code biên dịch được trên Rust 1.0 sẽ tiếp tục biên dịch trên mọi version 1.x sau đó; stdlib follow semver. Ý nghĩa: tránh được giai đoạn ecosystem fracture mà Python 2→3 hay Scala 2→3 đã gặp. Crate viết 2015 đến 2026 vẫn build được, giúp ecosystem accumulate thay vì phải rewrite định kỳ.
  3. Có. Edition chỉ thay đổi rule front-end của compiler (cú pháp, lookup module), không thay đổi ABI / representation của ngôn ngữ. Hai crate khác edition vẫn link với nhau bình thường — bạn có thể import dependency cũ (Edition 2018) vào project mới (Edition 2024) mà không cần migrate dependency.
  4. Rust Foundation là non-profit độc lập (lập 2/2021), lo phần tài chính, pháp lý, infrastructure, trademark. Rust Project là tập hợp các team kỹ thuật (lang, compiler, libs, cargo, infra...) qua RFC process trên GitHub. Việc thêm async closure vào ngôn ngữ là quyết định của Rust Project — cụ thể là lang team và compiler team — không phải Foundation.
  5. Ba dẫn chứng: (a) Linux kernel chính thức nhận Rust từ kernel 6.1 (12/2022), có hàng chục driver Rust được merge từ 6.8+. (b) Android (Google) đã vượt mốc code Rust mới nhiều hơn code C/C++ mới trong AOSP, memory-safety vulnerabilities giảm từ 76% (2019) xuống dưới 25%. (c) Cloudflare Pingora serve hơn 1 triệu req/giây trên edge network, AWS Firecracker chạy 100% Lambda — đều viết hoàn toàn bằng Rust và đã chạy production nhiều năm.
10

Bài Tiếp Theo

Bài 3: Ưu Điểm Cốt Lõi Của Rust: Safety, Performance, Ergonomics — đi sâu vào ba trụ cột làm nên thành công của Rust: memory safety không cần garbage collector, performance ngang C/C++, và ergonomics tốt hơn nhiều ngôn ngữ hệ thống truyền thống. Kèm case study Discord rewrite Go → Rust và Dropbox Magic Pocket.