Playground Zero
Viết, chạy và chia sẻ đoạn code. Không cần thiết lập.
Thử Zero ngay trên trình duyệt
Zero là ngôn ngữ lập trình hệ thống mới của Vercel Labs, phát hành lần đầu vào tháng 5 năm 2026. Nhìn bề ngoài, nó mang dáng dấp Rust (pub fun, let mut, ->, ngoặc generic), nhưng mục tiêu thiết kế lại khác thường: mọi phần của toolchain đều được làm ra để AI agent đọc, sửa và khắc phục dễ dàng như con người. Thông tin chẩn đoán được xuất dưới dạng JSON có cấu trúc với mã lỗi ổn định, trình biên dịch có thể xuất kế hoạch sửa lỗi có kiểu, và tệp thực thi chỉ dưới 10 KiB. Playground cho bạn một trình soạn thảo gọn gàng để mày mò ngôn ngữ mà không cần cài gì.
Ý tưởng đặc trưng nhất của Zero là I/O dựa trên capability. Không có biến toàn cục ngầm định, không có stdout dùng chung sẵn: một hàm muốn ghi ra terminal phải nhận một tham số World và gọi world.out.write(...). Lỗi được truyền đi bằng raises và check thay vì ngoại lệ hay panic, còn giá trị optional dùng .has / .value thay vì null. Nhấn Chạy, trình soạn thảo sẽ biên dịch mã nguồn trên máy chủ và hiện đầu ra. Stdin chưa được hỗ trợ vì Zero v0.1.3 chưa có API stdin: hãy dùng std.args qua bảng Đối số.
Điều gì làm Zero thú vị
- I/O dựa trên capability: mọi tác dụng phụ (stdout, tệp, mạng) đều đi qua một tham số
World, nên chữ ký của hàm cho bạn biết nó được phép đụng đến những gì. Không có biến toàn cục ẩn, không có bộ cấp phát ngầm định, không có async bất ngờ. - Toolchain ưu tiên agent:
zeroxuất thông tin chẩn đoán JSON ổn định,zero fix --plan --jsontạo kế hoạch sửa lỗi có kiểu, và mọi lệnh con của CLI đều nhận--jsonđể agent có thể chuyển đầu ra qua lại thay vì phải phân tích bằng regex. - Tệp thực thi native siêu nhỏ, thường dưới 10 KiB. Trình biên dịch dùng bộ sinh mã trực tiếp cho ELF, Mach-O, PE và WebAssembly, nên không phải kéo theo LLVM.
- Cú pháp quen thuộc, an toàn chặt chẽ hơn: nhìn giống Rust, nhưng không panic khi gặp null, không có GC ngầm định và không có luồng điều khiển ẩn. Lỗi chỉ là giá trị mà bạn truyền đi bằng
check.
Những điều nên thử trong playground Zero
- In một thứ gì đó qua
world.out.writevà xem chú thíchraisesbuộc bạn xử lý nhánh lỗi bằngcheckra sao. Đó là toàn bộ cách Zero đảm bảo an toàn mà không cần ngoại lệ, gói gọn trong một ví dụ nhỏ. - Đọc một đối số dòng lệnh bằng
std.args.get(N)và mở giá trị optional bằng.has/.value. Sửa giá trị trong bảng Đối số bên dưới trình soạn thảo: chúng được truyền vào chương trình khi bạn chạy, y như argv thật. - Viết một
funnhỏ trả vềString, gọi nó từmainvà xem các kiểu được truyền qua thế nào. Zero suy luận generic mạnh tay hơn Rust, nên phần lớn chỗ gọi hàm không cần chú thích kiểu nào cả.
Câu hỏi thường gặp về Zero
Ngôn ngữ lập trình Zero là gì?
--json, và chế độ riêng zero fix --plan tạo kế hoạch sửa lỗi có kiểu mà agent có thể áp dụng trực tiếp. Về cú pháp, nó nằm đâu đó giữa Rust và Zig. Ý tưởng nổi bật nhất là I/O dựa trên capability qua tham số World.Tôi có cần cài trình biên dịch Zero để dùng playground này không?
zero trên máy chủ trong một container cách ly, nên bạn viết code trên trình duyệt và nhấn Chạy. Phiên bản trình biên dịch được cố định (hiện là v0.1.3) và sandbox giống nhau cho mọi lần chạy. Nếu muốn phát triển trên máy, dự án Zero có phát hành sẵn bản build trên trang releases ở GitHub.Sao playground Zero không có ô nhập stdin?
World (world.out, world.err), cùng std.args cho đối số dòng lệnh và std.env cho biến môi trường. Cho đến khi Vercel Labs phát hành capability stdin, hãy dùng bảng Đối số bên dưới trình soạn thảo: đó là cách đưa đầu vào cho chương trình.Capability World là gì và tại sao main lại nhận nó?
World và gọi phương thức trên đó (world.out.write, world.err.write...). Nhờ vậy chữ ký hàm trở thành lời khai báo trung thực về tác dụng phụ: nếu một hàm không nhận World, chắc chắn nó không thể đụng đến thế giới bên ngoài. main nhận nó vì chính runtime là nơi cấp capability ban đầu.raises và check nghĩa là gì?
raises trong chữ ký (có thể liệt kê tên các lỗi cụ thể), và nơi gọi viết check expr để truyền lỗi lên trên stack. Hãy hình dung nó như toán tử ? của Rust với kiểu lỗi có tên: lỗi là giá trị, không phải bất ngờ trong luồng điều khiển.Công cụ hữu ích cho Zero
Các công cụ miễn phí chạy trên trình duyệt, dùng tốt cùng Playground Zero, tất cả đều thuộc Coddy.