Lewati ke konten
TR

Teguh Rijanandi

Creator & lead developer — Indonesiaku

Catatan dari pembuatnya

“Bagaimana kalau membuat interpreter kecil dengan kata kunci yang sejak awal terasa akrab bagi penutur Bahasa Indonesia?”

Pertanyaan itu menjadi titik awal Indonesiaku. Saya ingin memahami sendiri jalur dari kode sumber sampai program berjalan: scanner, parser, compiler bytecode, virtual machine, dan pengelolaan memori. Kata kunci Bahasa Indonesia membuat eksperimen ini punya karakter sendiri sekaligus lebih enak dipakai saat menjelaskan contoh dasar.

Yang ingin dijaga

  • Kecil dan terbaca. Implementasi harus cukup ringkas untuk ditelusuri saat belajar.
  • Bahasa Indonesia sebagai bagian desain. Bukan terjemahan setengah jadi di atas sintaks lain.
  • Contoh yang bisa dijalankan. Setiap fitur penting perlu punya contoh atau pengujian.
  • Terbuka untuk dibongkar. Sumber, dokumentasi, dan riwayat perubahan tersedia di GitHub.

Ruang belajar teknis

  • Scanner dan Pratt parser untuk mengubah teks menjadi bytecode.
  • VM berbasis stack untuk mengeksekusi instruction.
  • Garbage collector mark-sweep untuk objek runtime.
  • Pengujian contoh program di Linux, macOS, dan Windows.

Kontak

Motivation

“Can we build a programming language that is easy to learn and uses Indonesian syntax?”

Indonesiaku was born from that question. As an Indonesian developer, Teguh wanted to build something meaningful: a language that removes the language barrier for local students, while also becoming a deep learning ground for compiler design and virtual machines.

Project goals

  • Accessibility
    programming becomes easier to reach for Indonesian students.
  • Learning
    understand lexing, parsing, code generation, and GC.
  • Community
    build a community around a local language.
  • Innovation
    show that Indonesia can build quality technology.

Design philosophy

  • Simple, but not simplistic — approachable for beginners, still powerful.
  • Indonesian first — keywords and documentation in Indonesian.
  • Educational — designed to teach programming concepts.
  • Open source — everyone can learn and contribute.

Technical skills

  • Compiler design — lexing, parsing, code generation.
  • Virtual machines — stack-based bytecode VMs.
  • Memory management — garbage collection and memory optimisation.
  • Open source — contributions across projects.

Contact