Python interpreter dalam 1024 bytes C
Oleh Zai · Let's Make It Easy
Dipublikasikan 2026-09-07
Eksperimen Austin Z. Henley membuat subset Python dalam 1024 bytes C setelah percobaan 512 bytes tidak cukup. Targetnya bentuk sintaks yang terasa Python, bukan kompatibilitas penuh.
Setelah percobaan membuat Python dalam 512 bytes C mentok, Austin Z. Henley menaikkan target menjadi 1024 bytes. Hasilnya bukan interpreter Python yang lengkap, melainkan subset kecil yang mempertahankan bentuk yang membuat kode terasa Python.
1. Apa yang dipertahankan
Implementasi ini mengejar bentuk sintaks seperti def, indentasi bermakna, colon, dan if tanpa tanda kurung. Yang dipertahankan adalah rasa Python-nya, bukan seluruh bahasa. Program Python umum tidak akan jalan tanpa penyesuaian.
2. Perbandingan dengan CPython
Tulisan itu menjelaskan bahwa CPython normalnya melewati tokenization, parsing ke AST, analisis dan optimisasi, pembuatan bytecode, lalu eksekusi oleh interpreter. Versi 1024 bytes ini jauh lebih sederhana dan jauh lebih terbatas dari pipeline tersebut.
3. Nilai dari constraint ekstrem
Eksperimen seperti ini lebih dekat ke code golf daripada rekayasa produksi, tapi justru di situ nilainya: constraint ukuran memaksa penulis memahami bagian mana dari sebuah bahasa yang esensial dan mana yang bisa dilepas. Untuk pembaca, ini tur singkat ke dalam masalah parsing dan desain interpreter.
4. Batas
Artikel ini adalah eksperimen pribadi. Tidak ada klaim bahwa subset tersebut kompatibel dengan program Python umum, dan memang bukan itu tujuannya.