Menu
CoddyTech

Playground Zero

Tulis, jalankan, dan bagikan potongan kode. Tanpa setup.

Coddymain.0
Output
Click Run to see the output here.

Coba Zero di browser

Zero adalah bahasa pemrograman sistem baru dari Vercel Labs, pertama kali dirilis pada Mei 2026. Sekilas bentuknya mirip Rust, dengan pub fun, let mut, ->, dan tanda kurung generic, tapi tujuan desainnya tidak biasa: setiap bagian toolchain-nya dirancang agar bisa dibaca, diedit, dan diperbaiki oleh agen AI senyaman oleh manusia. Diagnostiknya dikirim sebagai JSON terstruktur dengan kode error yang stabil, compiler-nya bisa menghasilkan rencana perbaikan bertipe, dan ukuran binary-nya di bawah 10 KiB. Playground ini memberimu editor yang bersih untuk mencoba-coba bahasanya tanpa menginstal apa pun.

Ide paling khas di Zero adalah I/O berbasis capability. Tidak ada global implisit dan tidak ada stdout yang tersedia begitu saja: fungsi yang ingin menulis ke terminal harus menerima parameter World dan memanggil world.out.write(...). Error diteruskan dengan raises dan check, bukan exception atau panic, dan nilai opsional memakai .has / .value, bukan null. Tekan Jalankan dan editornya meng-compile kode sumbermu di server lalu menampilkan output-nya. Stdin belum tersambung karena Zero v0.1.3 belum punya API stdin; pakai std.args lewat panel Argumen sebagai gantinya.

Kenapa Zero menarik

  • I/O berbasis capability: setiap efek samping (stdout, file, jaringan) mengalir lewat parameter World, jadi signature sebuah fungsi memberi tahu apa saja yang bisa disentuhnya. Tidak ada global tersembunyi, tidak ada allocator implisit, tidak ada async yang tiba-tiba muncul.
  • Toolchain yang mengutamakan agen: zero menghasilkan diagnostik JSON yang stabil, zero fix --plan --json menghasilkan rencana perbaikan bertipe, dan setiap subperintah CLI menerima --json, jadi agen bisa meneruskan output-nya ke mana saja tanpa harus mengurainya dengan regex.
  • Binary native yang mungil, sering di bawah 10 KiB. Compiler-nya memakai emitter langsung untuk ELF, Mach-O, PE, dan WebAssembly, jadi tidak ada dependensi LLVM yang harus dibawa.
  • Sintaks yang familier, keamanan yang lebih ketat: mirip Rust di atas kertas, tapi tanpa panic karena null, tanpa GC implisit, dan tanpa alur kontrol tersembunyi. Error hanyalah nilai yang kamu teruskan dengan check.

Yang bisa dicoba di playground Zero

  • Cetak sesuatu lewat world.out.write dan lihat bagaimana anotasi raises memaksamu menangani jalur error dengan check. Itulah seluruh idiom Zero untuk keamanan tanpa exception, dalam satu contoh kecil.
  • Baca argumen command line dengan std.args.get(N) dan buka nilai opsionalnya dengan .has / .value. Edit nilainya di panel Argumen di bawah editor; nilai-nilai itu diteruskan ke programmu saat Jalankan, persis seperti argv sungguhan.
  • Tulis fun kecil yang mengembalikan String, panggil dari main, dan lihat tipenya mengalir. Zero menyimpulkan generics lebih agresif daripada Rust, jadi sebagian besar pemanggilan sama sekali tidak butuh anotasi.

Pertanyaan yang sering diajukan tentang Zero

Apa itu bahasa pemrograman Zero?
Zero adalah bahasa sistem eksperimental dari Vercel Labs, pertama kali dirilis pada Mei 2026. Zero dikompilasi menjadi executable native yang kecil (sering di bawah 10 KiB) dan dibangun dengan mempertimbangkan agen coding AI: compiler-nya menghasilkan diagnostik JSON terstruktur, setiap subperintah CLI menerima --json, dan mode zero fix --plan yang terpisah menghasilkan rencana perbaikan bertipe yang bisa langsung diterapkan agen. Secara sintaks, Zero berada di antara Rust dan Zig. Ide utamanya adalah I/O berbasis capability lewat parameter World.
Apakah aku perlu menginstal compiler Zero untuk memakai playground ini?
Tidak. Coddy menjalankan toolchain zero di server dalam container sandbox, jadi kamu menulis kode di browser dan menekan Jalankan. Versi compiler-nya dikunci (saat ini v0.1.3) dan sandbox-nya sama untuk setiap eksekusi. Kalau kamu juga ingin mengembangkan di komputermu sendiri, proyek Zero menyediakan binary siap pakai di halaman rilis GitHub-nya.
Kenapa playground Zero tidak punya kotak input stdin?
Karena Zero v0.1.3 belum menyediakan API stdin. Bahasa ini menjangkau dunia luar hanya lewat capability pada parameter World (world.out, world.err), plus std.args untuk argumen command line dan std.env untuk environment variable. Sampai Vercel Labs merilis capability stdin, pakai panel Argumen di bawah editor: itulah cara memberi input ke programmu.
Apa itu capability World dan kenapa main menerimanya?
Zero tidak punya namespace global implisit untuk I/O. Fungsi yang ingin menulis output, membaca file, atau mengakses jaringan harus menerima nilai World dan memanggil method-nya (world.out.write, world.err.write, dan seterusnya). Dengan begitu, signature fungsi menjadi deklarasi jujur tentang efek sampingnya: kalau sebuah fungsi tidak menerima World, bisa dipastikan ia tidak bisa menyentuh dunia luar. main menerimanya karena runtime-lah yang memberikan capability awal.
Apa arti raises dan check?
Zero menangani error secara eksplisit, bukan lewat exception. Fungsi yang bisa gagal menandai signature-nya dengan raises (bisa sambil mencantumkan nama error tertentu), dan pemanggilnya menulis check expr untuk meneruskan kegagalan itu ke atas stack. Anggap saja seperti operator ? di Rust dengan tipe error bernama: kegagalan adalah nilai, bukan kejutan dalam alur kontrol.

Alat berguna untuk Zero

Alat gratis berbasis browser yang cocok dipakai bersama Playground Zero, semuanya bagian dari Coddy.