Membaca Peta Jalan

Menafsirkan target rilis 0.1, 0.2, dan 1.0 beserta ekspektasi yang pernah meleset.

Daftar isi

Topik ini membahas cara membaca dua dokumen perencanaan resmi proyek Carbon, yaitu peta jalan (roadmap) tahunan pada docs/project/roadmap.md dan tonggak (milestone) jangka panjang pada docs/project/milestones.md. Pembahasan mencakup fungsi masing-masing dokumen, isi tonggak 0.1, 0.2, dan 1.0, alasan tanggal tonggak 0.1 digeser mundur, serta ekspektasi lama yang sudah bergeser. Setelah membacanya, setiap angka tahun pada dokumen proyek dapat diberi tafsir yang proporsional, yaitu sebagai rencana kerja dan bukan janji rilis.

Dua dokumen perencanaan dengan fungsi berbeda#

Peta jalan tahunan menetapkan fokus kerja tahun berjalan beserta hasil kunci yang dikejarnya. Untuk 2025, dokumen ini menetapkan dua sasaran utama, yaitu menghadirkan potongan interop C++ yang cukup besar sehingga dapat didemonstrasikan dalam skenario realistis, kemudian menyusun desain keamanan memori yang konkret dan spesifik. Hasil kuncinya merinci kemampuan mengakses API C++ non-template dari Carbon, upaya awal mengakses API Carbon non-generik dari C++, pembaruan strategi keamanan, desain keamanan temporal dan mutasi pada waktu kompilasi, serta presentasi pada dua sampai tiga konferensi.

Cara dokumen ini diproduksi diatur pada docs/project/roadmap_process.md. Tim inti menyusun usulan peta jalan setiap tahun melalui proses proposal yang sama dengan keputusan bahasa, lalu meninjaunya ulang setiap kuartal untuk menyesuaikan arah dengan informasi terbaru. Dokumen proses juga menyebut peta jalan secara eksplisit sebagai rencana yang tidak mengikat sepenuhnya, sehingga tim dapat menunda pekerjaan yang tidak sejalan dengan fokus tahun berjalan dan membaruinya lewat proposal baru.

Tonggak 0.1, 0.2, dan 1.0#

Dokumen tonggak melengkapi peta jalan dengan arah jangka panjang yang menjangkau lebih dari satu tahun. Tonggak 0.1 didefinisikan sebagai produk minimum yang layak untuk evaluasi (minimum viable product, MVP), yaitu titik ketika pengembang C++ dapat menilai Carbon secara serius. Cakupannya mencakup desain bahasa inti yang kohesif tanpa placeholder, interop dengan C++ untuk semua fitur besar kecuali korutin, toolchain yang dapat dipasang di Windows, macOS, dan Linux serta dipakai sebagai pengganti langsung Clang pada sistem build berbasis Make dan CMake, strategi keamanan terperinci beserta desain keamanan memori, dan dokumentasi dasar bagi evaluator.

Tonggak 0.2 dinyatakan sebagai produk yang feature complete untuk evaluasi, yakni tidak ada lagi celah fitur yang menghambat penilaian dari pengguna C++. Beberapa fitur ditunda secara eksplisit setidaknya sampai tonggak ini, antara lain keamanan memori, korutin dan async, threading Carbon-native, mixin, inline assembly, serta SIMD. Sasaran konkret yang disebut pada rentang 2027-2028 meliputi toolchain self-hosting dengan dukungan library standar, alat migrasi yang cukup untuk library dunia nyata, dan pembentukan yayasan atau organisasi serupa yang terpisah dari pendana korporasi.

Tonggak 1.0 menandai Carbon yang bukan lagi eksperimen dan layak dipakai di produksi. Pada titik ini tata kelola direncanakan berpindah sepenuhnya ke organisasi open source independen, sedangkan sasaran meluas ke ekosistem bahasa seperti tooling dari ujung ke ujung, materi pengajaran, dan package management. Peta jalan menempatkan tonggak ini setelah 2028. Garis waktu berikut merangkum kedudukan ketiga tonggak tersebut.

fokus 2025interop C++ dankeamanan memori0.1 MVP evaluasipaling cepat akhir 20260.2 feature complete2027-20281.0 produksisetelah 20282025202620272028Garis putus-putus menandai waktu paling cepat yang disebut peta jalan, bukan tanggal yang dijanjikan.
Garis waktu tonggak 0.1, 0.2, dan 1.0 menurut peta jalan resmi
TonggakIsi intiJadwal yang disebut peta jalan
0.1MVP evaluasi: desain inti tanpa placeholder, interop C++ kecuali korutin, toolchain yang terpasang di tiga sistem operasipaling cepat akhir 2026
0.2Feature complete untuk evaluasi: self-hosting, alat migrasi, organisasi independen2027-2028
1.0Produksi: ekosistem lengkap dan tata kelola mandirisetelah 2028

Mengapa tanggal 0.1 digeser mundur#

Peta jalan tahun berjalan menjelaskan alasannya secara terbuka. Desain keamanan memori ditambahkan ke lingkup tonggak 0.1, dan penambahan itu membuat targetnya digeser mundur setidaknya setahun. Dokumen menyebut penyelesaian 0.1 pada 2026 sebagai sasaran yang sangat ambisius dan mungkin tidak tercapai, sehingga akhir 2026 ditetapkan sebagai waktu paling cepat yang masih realistis.

Penambahan lingkup itu memiliki bentuk yang konkret. Tonggak 0.1 kini menuntut desain keamanan memori yang spesifik, kemampuan menunjukkan migrasi dari C++ yang tidak aman ke Carbon, serta mulainya adopsi keamanan memori secara bertahap pada basis kode yang memang tidak aman. Tujuan akhirnya tetap satu, yaitu evaluasi yang realistis atas Carbon sebagai pengganti C++, sehingga keamanan memori masuk lebih awal justru karena evaluator menuntutnya sejak penilaian pertama.

Ekspektasi 2021 yang sudah bergeser#

Pergeseran jadwal bukan cerita yang tersembunyi, melainkan terdokumentasi pada repositori itu sendiri. Dokumen lamanya tetap terbaca utuh karena proposal yang sudah diterima diarsipkan apa adanya. Proposal bernomor p000253 yang berjudul 2021 Roadmap menetapkan rencana yang jauh lebih cepat, yaitu menuntaskan bahasa 0.1 dan memublikasikannya pada 2022, menuntaskan 0.2 dan mengakhiri masa eksperimen pada 2023, serta merilis 1.0 beserta organisasinya pada 2024-2025.

Kenyataannya, proyek memang dipublikasikan pada Juli 2022 melalui keynote CppNorth, tetapi tonggak 0.1 kini disebut paling cepat siap pada akhir 2026, tonggak 0.2 pada 2027-2028, dan tonggak 1.0 setelah 2028. Seluruh jadwal jangka panjang bergeser beberapa tahun sejak dokumen pertama itu ditulis. Kedua dokumen masih tersedia dan dapat dibandingkan secara berdampingan, yaitu peta jalan 2021 pada folder proposal dan peta jalan berjalan pada folder dokumentasi proyek.

Judul bagian pada kedua dokumen juga memberi isyarat yang sama. Bagian jangka panjang pada peta jalan memakai kata potential, sehingga isinya dibaca sebagai skenario kerja dan bukan komitmen tanggal. Kejujuran status proyek, yang sudah ditegaskan README sejak awal, berlaku penuh pada dokumen perencanaan, yaitu proyek eksperimental dengan jadwal yang menyesuaikan diri terhadap pekerjaan desain yang belum selesai.

Kesalahan umum#

Tiga kekeliruan paling lazim saat membaca dokumen perencanaan Carbon bermula dari kebiasaan yang sama, yaitu memperlakukan rencana sebagai kenyataan yang sudah pasti.

  • Mengutip angka tahun sebagai tenggat. Penyebabnya adalah kalimat peta jalan yang memang menyebut tahun secara langsung, sedangkan perbaikannya adalah mengutip kualifikasi aslinya pula, misalnya “paling cepat” atau “potential”.
  • Menyamakan peta jalan dengan tonggak. Penyebabnya adalah keduanya sama-sama berisi target, sedangkan perbaikannya adalah merujuk peta jalan untuk fokus tahun berjalan dan dokumen tonggak untuk arah jangka panjang.
  • Membaca tonggak 0.1 sebagai rilis siap pakai. Penyebabnya adalah angka 0.1 yang terlihat seperti versi perdana, sedangkan perbaikannya adalah mengingat definisinya sebagai produk minimum untuk evaluasi, sementara README tetap menyatakan Carbon belum siap dipakai.

Ringkasan#

  • Peta jalan tahunan menetapkan fokus tahun berjalan dan dinilai ulang setiap kuartal, sedangkan dokumen tonggak menetapkan arah jangka panjang 0.1, 0.2, dan 1.0.
  • Tonggak 0.1 adalah MVP untuk evaluasi yang paling cepat siap pada akhir 2026 karena lingkupnya bertambah desain keamanan memori.
  • Tonggak 0.2 menuntut bahasa yang feature complete dengan toolchain self-hosting dan organisasi independen pada 2027-2028, sedangkan 1.0 menandai tahap produksi setelah 2028.
  • Peta jalan 2021 menempatkan tonggak yang sama beberapa tahun lebih awal, sehingga seluruh tanggal perencanaan dibaca sebagai rencana dan bukan janji.

Referensi#