Ra mắt Rail: Ngôn ngữ lập trình tự hosting tích hợp HTTPS thuần túy
Rail là một ngôn ngữ hệ thống hoàn toàn mới có khả năng tự biên dịch chính nó và chạy mà không cần bất kỳ phụ thuộc nào vào ngôn ngữ C. Phiên bản 3.0.0 vừa ra mắt đã mang đến khả năng xử lý HTTPS và TLS 1.3 hoàn toàn bằng mã Rail, loại bỏ nhu cầu sử dụng OpenSSL hay curl.

Trong thế giới phát triển phần mềm, việc tạo ra một ngôn ngữ lập trình mới là một thử thách lớn, nhưng việc làm cho nó tự cung tự cấp (self-hosting) và tự xử lý các giao thức mạng phức tạp lại là một câu chuyện khác. Hôm nay, chúng tôi sẽ cùng tìm hiểu về Rail – một ngôn ngữ hệ thống độc đáo vừa ra mắt phiên bản v3.0.0 với khả năng "nói chuyện" trực tiếp bằng HTTPS mà không cần sự hỗ trợ của bất kỳ thư viện C nào.
Rail: Sự tự chủ tuyệt đối
Rail được định nghĩa là một ngôn ngữ hệ thống tự hosting (self-hosting) với triết lý "Zero C dependencies" (không phụ thuộc C). Điều này có nghĩa là không có libc trong tệp nhị phân, không có runtime C và đặc biệt là không có OpenSSL hay curl để xử lý mạng.
Điểm thú vị nhất là bộ thu gom rác (Garbage Collector - GC) của Rail được viết hoàn toàn bằng Assembly ARM64.
Rail v3.0.0 speaks TLS
Khả năng tự biên dịch (Self-hosting)
Một trong những kỳ tích kỹ thuật của Rail là khả năng tự biên dịch chính nó một cách chính xác tuyệt đối. Trình biên dịch Rail – bao gồm 4.687 dòng mã – tạo ra một tệp nhị phân ARM64 nặng 729 KB. Tệp nhị phân này lại có thể biên dịch lại mã nguồn của chính nó và tạo ra kết quả giống hệt từng byte (byte-identical).
Quy trình này diễn ra như sau:
- Biên dịch Rail bằng bản nhị phân gốc.
- Sao chép kết quả vào tệp thực thi.
- Chạy tệp thực thi mới để tự biên dịch lại.
- So sánh hai tệp – chúng hoàn toàn giống nhau.
Điều này đảm bảo rằng trình biên dịch luôn là "nguồn sự thật" duy nhất và ổn định.
Self-hosting fixed point
HTTPS thuần túy với Rail v3.0.0
Tính năng nổi bật nhất trong bản cập nhật v3.0.0 là việc tích hợp một stack TLS 1.3 và client HTTPS hoàn toàn được viết bằng Rail. Không còn cần các daemon socat hay các thư viện mã hóa bên ngoài.
Nhờ vậy, một chương trình Rail đơn giản có thể kết nối trực tiếp đến API của Anthropic hoặc Slack chỉ với vài dòng code:
import "stdlib/anthropic_client.rail"
main =
let (status, reply) = anthropic_chat
"claude-haiku-4-5-20251001"
"Reply with exactly: hello from pure rail"
40
"/path/to/key"
let _ = print reply
0
Toàn bộ chuỗi chứng chỉ X.509 ( từ leaf đến root) được xác thực trực tiếp trong Rail. Các thuật toán mã hóa như ChaCha20-Poly1305, x25519, và SHA-256/384/512 đều được triển khai sẵn và xác thực theo vector chuẩn của NIST hoặc RFC.
Đào tạo AI bằng chính compiler của mình
Rail không chỉ dừng lại ở việc lập trình hệ thống; nó còn tham gia vào cuộc cách mạng AI. Người tạo ra Rail đã xây dựng một vòng lặp tự huấn luyện nơi:
- Mô hình LLM sinh ra mã Rail.
rail_native(trình biên dịch) đóng vai trò là "người tiên tri" (oracle) để biên dịch và kiểm tra mã đó.- Mã biên dịch được sẽ trở thành dữ liệu huấn luyện cho vòng tiếp theo.
Ba dòng hệ thống độc lập (LoRA trên Gemma, Metal-GPU MLP, và PCFG-REINFORCE) đều sử dụng cùng một trình biên dịch Rail để xác minh tính chính xác, đạt tỷ lệ vượt qua tới 92%.
Tests passing
Hiệu năng và Nền tảng
Rail tập trung tối đa vào kiến trúc ARM64 (đặc biệt là Apple Silicon), nhưng cũng hỗ trợ Linux ARM64 (như Raspberry Pi Zero 2 W), Linux x86_64 và cả WebAssembly (WASM).
- Hiệu suất: Các vòng lặp đệ quy đuôi (tail-recursive) trong Rail đạt hiệu suất tương đương với C được biên dịch với cờ
-O2. - Float: Số thực (float) được xử lý trực tiếp trên thanh ghi
d-registerIEEE 754 của ARM64 mà không cần boxing, giúp tăng tốc độ đáng kể.
Thông tin và Giới hạn
Rail hiện đang được cấp phép theo Business Source License 1.1 (miễn phí cho sử dụng phi sản xuất, nghiên cứu, giáo dục và sẽ chuyển thành Apache 2.0 vào năm 2030).
Tuy nhiên, tác giả cũng rất trung thực về các giới hạn của phiên bản hiện tại:
- Chỉ hỗ trợ một bộ mã hóa TLS (TLS_CHACHA20_POLY1305_SHA256).
- Không hỗ trợ khôi phục phiên TLS (session resumption) hay client certificates.
- Không có đảm bảo chống tấn kênh kênh phụ (side-channel resistance) như OpenSSL.
- Thời gian kết nối HTTPS khoảng 5–8 giây do quá trình xác thực khóa công khai chiếm nhiều thời gian, phù hợp cho các lệnh gọi API một lần (one-shot) hơn là làm proxy HTTP.
Rail là một dự án đầy tham vọng và táo bạo, chứng minh rằng có thể xây dựng một hệ sinh thái lập trình hiện đại, hỗ trợ AI và bảo mật mà không cần phải dựa vào "bộ xương C" cũ kỹ.



