Một ngôn ngữ lập trình mới đã được khai sinh từ một sự cố hỏng thang máy tại chung cư. Nó nhanh chóng được người dùng đón nhận và được ứng dụng rộng rãi. Đó là ngôn ngữ lập trình Rust, thậm chí được được lựa chọn để cải tiến hoặc tạo ra phần mềm mới thay cho C, C++ hay Java.
Năm 2006, khi trở về nhà sau một ngày làm việc, Graydon Hoare là lập trình viên của Mozilla, công ty phát triển trình duyệt web mã nguồn mở Firefox, phát hiện thang máy chung cư bị hỏng do lỗi phần mềm. Đây không phải là lần đầu xảy ra sự cố như vậy.
Là lập trình viên, Hoare biết nguyên nhân gây ra sự cố xảy ra do lỗi bộ nhớ. Phần mềm vận hành thang máy thường được viết bằng C hoặc C++ nên dễ gây lỗi tràn bộ nhớ.
Khó chịu từ việc chiếc thang máy hỏng, Hoare quyết định tạo ra một ngôn ngữ lập trình linh hoạt, thân thiện và ít lỗi hơn. Và thế là ngôn ngữ lập trình Rust - được đặt theo loại bệnh thực vật gây ra bởi nấm cực kỳ khỏe mạnh, ra đời.
Sau 17 năm, Rust trở thành một trong những ngôn ngữ lập trình phổ biến với khoảng 2,8 triệu lập trình viên sử dụng. Nó được các công ty như Amazon hay Microsoft xem là ngôn ngữ lập trình của tương lai do giải quyết được một số vấn đề phổ biến trên các ngôn ngữ như C và C++, đặc biệt là lỗi tràn bộ nhớ.
Bộ nhớ máy tính được ví như tấm bảng phấn. Khi phần mềm hoạt động, dữ liệu được ghi vào bảng để kiểm tra, nếu không còn cần thiết sau đó sẽ bị xóa đi.
Mỗi ngôn ngữ lập trình có cách quản lý bộ nhớ khác nhau. C hay C++ cho phép lập trình viên kiểm soát linh hoạt cách thức và thời điểm phần mềm ghi dữ liệu nhưng chính điều này lại yêu cầu họ phải theo dõi cẩn thận vùng bộ nhớ được ghi và thời điểm cần dọn dẹp dữ liệu. Phần mềm có thể ghi lên vùng đã chứa dữ liệu nếu lập trình viên vô tình quên dọn dẹp.
Các ngôn ngữ lập trình như Java, JavaScript hay Python được trang bị một thành phần có thể tìm kiếm và dọn dẹp định kỳ các thành phần mà chương trình không còn dùng đến. Điều này giúp giảm rủi ro tình trạng tràn bộ nhớ nhưng lại yêu cầu nhiều tài nguyên để vận hành.
Hoare đã thiết kế Rust cân bằng giữa mức tiêu thụ tài nguyên và dọn dẹp bộ nhớ. Rust sẽ tự động tìm kiếm vị trí chứa dữ liệu cần dọn dẹp nhưng yêu cầu lập trình viên phải thực hiện nghiêm ngặt quy tắc viết mã, về cách sử dụng và sao chép dữ liệu trong phần mềm.
Hay hiểu một cách đơn giản, Rust sẽ khó viết mã hơn nhưng bộ nhớ sẽ không bị lỗi.
Nhóm thiết kế Rust, ngoài Hoare đã có kinh nghiệm 10 năm trong lĩnh vực phần mềm còn có nhiều thành viên khác như kỹ sư phần mềm Niko Matsakis và Felix Klock, những người có kinh nghiệm trong lĩnh vực nghiên cứu bộ nhớ và ngôn ngữ lập trình.
Năm 2009, Rust được Mozilla đầu tư dưới dạng dự án mã nguồn mở. Đến đầu thập niên 2010, Rust nhận hỗ trợ từ cộng đồng lập trình viên toàn thế giới.
Ngày 15/5/2015, phiên bản ổn định đầu tiên của Rust được phát hành và 1 năm sau Mozilla ra mắt Servo, công cụ trình duyệt được viết bằng Rust.
Năm 2017, Rust được dùng trong trình hiển thị CSS của Firefox, giúp hoạt động nhanh hơn. Sau đó, Rust ngày càng được sử dụng rộng rãi như trên Dropbox, Discord, Amazon Web Services
Nghiên cứu cho thấy mã viết bằng Rust cho hiệu quả ngang ngửa so với Java nhưng chỉ tiêu thụ một nửa năng lượng.
Sau 17 năm ra đời, Rust trở thành ngôn ngữ lập trình được đánh giá cao, thậm chí còn được các lãnh đạo Microsoft đề xuất áp dụng rộng rãi để viết phần mềm mới thay cho C và C++.
Rust với ưu điểm nhanh chóng, đơn giản, thân thiện và an toàn sẽ được sử dụng nhiều hơn để tạo ra các phần mềm mới trong tương lai. Tất nhiên, C và C++ sẽ không biến mất trong nhiều thập kỷ tới.