Rust
Rust cho bạn tốc độ ngang C với một trình biên dịch từ chối để bạn viết ra cả loạt lỗi bộ nhớ. Sự đánh đổi là một trình biên dịch nổi tiếng nghiêm khắc và một đường cong học tập dốc đứng. Đối với vibe coding, Rust là con dao hai lưỡi: AI viết nó, nhưng sự nghiêm khắc của Rust nghĩa là trình biên dịch sẽ từ chối code thường xuyên hơn, dẫn đến nhiều vòng lặp sửa lỗi qua lại hơn.
- Giỏi ở: phần mềm đòi hỏi hiệu năng cao, lập trình hệ thống, engine trò chơi, WebAssembly, công cụ dòng lệnh nơi tốc độ quan trọng, bất cứ nơi nào tính đúng đắn và an toàn là tối thượng.
- Gây đau đầu ở: đường cong học tập dốc đứng; thời gian biên dịch chậm; "borrow checker" (bộ kiểm tra quyền mượn) làm nản lòng người mới; quá mức cần thiết cho hầu hết các ứng dụng web và kịch bản.
- Trường hợp sử dụng điển hình: hiệu năng cao, công cụ , module WASM (WebAssembly), các hệ thống gần như nhúng (embedded-ish), hạ tầng nơi từng mili giây đều được tính.
- Mức độ AI xử lý: tốt nhưng gập ghềnh hơn. Các trợ lý biết Rust khá rõ, nhưng trình biên dịch nghiêm khắc làm lộ ra các lỗi cần lặp lại nhiều lần để sửa. Hãy dự kiến nhiều vòng lặp "sửa lỗi, thử lại" hơn so với Python hay JS. Chọn Rust khi hiệu năng hoặc tính an toàn thực sự biện minh cho sự ma sát này — chứ không phải mặc định.
Có một lợi ích tinh tế của sự nghiêm khắc trong Rust rất dễ bị bỏ qua: trình biên dịch là một người phản biện miễn phí và không khoan nhượng. Khi AI viết JavaScript cẩu thả, lỗi được đưa vào sản phẩm và cắn người dùng lúc chạy thực tế. Khi AI viết Rust cẩu thả, trình biên dịch thường bắt được nó trước khi chương trình từng được chạy. Những vòng lặp sửa lỗi thêm cảm giác như ma sát, nhưng một phần trong số đó chính là trình biên dịch đang ngăn chặn một lỗi thực sự. Câu hỏi trung thực cần đặt ra trước khi tìm đến Rust là liệu bạn có thực sự cần tốc độ hoặc sự an toàn đó không, hay bạn chỉ được bảo rằng bạn nên muốn chúng. Với một dự án đầu tay, gần như bạn không cần.