Lời nói đầu
Không phải lúc nào cũng rõ ràng, nhưng ngôn ngữ lập trình Rust về cơ bản là sự trao quyền: bất kể bạn đang viết loại mã nào, Rust trao quyền cho bạn vươn xa hơn, lập trình với sự tự tin trong nhiều lĩnh vực đa dạng hơn so với trước đây.
Ví dụ, hãy xem xét công việc "cấp hệ thống" liên quan đến các chi tiết cấp thấp của quản lý bộ nhớ, biểu diễn dữ liệu và lập trình đồng thời. Theo truyền thống, lĩnh vực lập trình này được coi là khó hiểu, chỉ tiếp cận được với một số ít người đã dành nhiều năm học tập để tránh những lỗi tiềm ẩn phổ biến của nó. Và thậm chí những người làm việc với nó cũng làm với sự thận trọng, để tránh mã của họ bị khai thác, gặp sự cố hoặc bị hỏng.
Rust phá vỡ những rào cản này bằng cách loại bỏ những lỗi tiềm ẩn cũ và cung cấp một bộ công cụ thân thiện, hoàn thiện để giúp bạn trên suốt chặng đường. Các lập trình viên cần "đi sâu" vào kiểm soát cấp thấp hơn có thể làm như vậy với Rust mà không phải chấp nhận rủi ro thông thường của sự cố hoặc lỗ hổng bảo mật, và không cần phải học các chi tiết tinh vi của một công cụ không ổn định. Tốt hơn nữa, ngôn ngữ được thiết kế để hướng dẫn bạn viết mã đáng tin cậy một cách tự nhiên, hiệu quả về tốc độ và sử dụng bộ nhớ.
Các lập trình viên đã làm việc với mã cấp thấp có thể sử dụng Rust để nâng cao tham vọng của họ. Ví dụ, việc đưa tính song song vào Rust là một hoạt động tương đối ít rủi ro: trình biên dịch sẽ phát hiện các lỗi cổ điển cho bạn. Và bạn có thể giải quyết các tối ưu hóa mạnh mẽ hơn trong mã của mình với sự tự tin rằng bạn sẽ không vô tình gây ra sự cố hoặc lỗ hổng.
Nhưng Rust không giới hạn ở lập trình hệ thống cấp thấp. Nó đủ linh hoạt và tiện dụng để làm cho các ứng dụng CLI, máy chủ web và nhiều loại mã khác trở nên khá dễ chịu để viết — bạn sẽ tìm thấy các ví dụ đơn giản về cả hai trong phần sau của cuốn sách. Làm việc với Rust cho phép bạn xây dựng kỹ năng có thể chuyển giao từ lĩnh vực này sang lĩnh vực khác; bạn có thể học Rust bằng cách viết một ứng dụng web, sau đó áp dụng những kỹ năng tương tự đó để nhắm đến Raspberry Pi của bạn.
Cuốn sách này hoàn toàn đón nhận tiềm năng của Rust trong việc trao quyền cho người dùng của nó. Đây là một văn bản thân thiện và dễ tiếp cận nhằm giúp bạn nâng cao không chỉ kiến thức về Rust, mà còn mở rộng hiểu biết và sự tự tin của bạn với tư cách là một lập trình viên nói chung. Vì vậy, hãy bắt đầu, sẵn sàng để học và chào mừng đến với cộng đồng Rust!
— Nicholas Matsakis và Aaron Turon