Agent Playbooks: cross-lang-analogy — Belajar Bahasa Pemrograman Baru Lewat Bahasa yang Sudah Kamu Kuasai
Agent Playbooks: cross-lang-analogy — Belajar Bahasa Pemrograman Baru Lewat Bahasa yang Sudah Kamu Kuasai October 13, 2026 · 4 min read
AILearningWorkflow

Tutorial sering menjelaskan ulang hal yang sudah kamu kuasai dan melewatkan paradigm shift yang justru sulit. Playbook ini memaksa agent menerjemahkan setiap konsep bahasa baru lewat stack yang sudah jadi cara kamu mikir.

Bagian yang Salah Paham dari Tutorial

Setelah bertahun-tahun betah di TypeScript dan React, aku memutuskan serius belajar Go.

Tutorial yang kutemukan semuanya bentuknya sama: tiga bab tentang variabel dan loop, satu bagian soal if, dan — kalau beruntung — satu paragraf soal error handling di halaman paling belakang. Hasilnya: sepuluh menit sudah lancar nulis for loop di Go, tapi begitu ketemu cfg, err := loadConfig(), aku diem menerawang lumayan lama haha.

Di situ akhirnya nyambung: tutorial itu dioptimalkan buat pemula, dan aku bukan pemula — aku cuma pemula di bahasa ini, bukan pemula programming. Yang sebenarnya kubutuhkan adalah peta terjemahan dari mental model yang sudah ada ke sintaks baru. Peta itu tidak dijual di mana-mana.

Jadi ya... bikin sendiri. Dalam bentuk playbook buat AI agent-ku.

Framework 4 Pillar

cross-lang-analogy adalah playbook di repo agent-playbooks-ku (lihat artikel sebelumnya). Playbook ini aktif setiap kali kutanya soal bahasa baru, dan memaksa setiap penjelasan melewati empat pillar:

  1. Literal Syntax Reading. Sebelum istilah teknis, kode asing diterjemahkan jadi bahasa manusia biasa, baris per baris. := jadi "deklarasi sekaligus infer tipe" — bukan trivia yang harus dihafal.
  2. Padanan di Bahasa yang Dikuasai. Logika yang sama persis, disandingkan berdampingan, di bahasa yang selama ini jadi cara aku mikir.
  3. Paradigm Shift & "Kenapa"-nya. Ini yang paling penting. Kenapa bahasa ini tidak pakai cara yang familiar? Nilai desain apa yang mau dijaga?
  4. False Friends & Gotchas. Kebiasaan dari stack lama yang di bahasa baru lolos compile — tapi meledaknya di runtime.

Wujud Nyatanya

Nanya "error handling di Go gimana?" dengan playbook ini aktif hasilnya beda dari tutorial. Literal reading dulu: fungsi Go mengembalikan dua nilai, yang kedua adalah error — nil berarti aman. Lalu side-by-side:

// TypeScript: error jalan lewat exception
try {
  const config = loadConfig();
} catch (err) {
  // handle — atau tidak, compiler tidak memaksa
}
// Go: error adalah return value biasa
config, err := loadConfig()
if err != nil {
    return fmt.Errorf("loading config: %w", err)
}

Terus bagian "kenapa": di Go, error adalah value, jadi dia muncul di signature fungsi. Kegagalan adalah bagian dari kontrak tipe, bukan jalur control-flow tersembunyi. Reframing sesederhana ini sudah lebih berguna daripada puluhan halaman "getting started".

Dan terakhir false friend — pillar favoritku. Datang dari TypeScript, aku bisa saja abaikan err dan langsung pakai config. Lolos compile. Tapi config bisa saja nil, dan tidak ada catch yang datang menolong — yang ada cuma runtime panic. Tahu jebakan spesifik ini sebelum nulis Go lebih berharga daripada seratus halaman tutorial.

Satu Anchor, Pelajaran yang Berbeda

Ada satu detail desain yang kusuka: Phase 1 playbook ini adalah anchor discovery — dia bertanya dulu bahasa apa yang paling kamu kuasai sebelum mulai menjelaskan. Soalnya konsep Go yang sama butuh jembatan berbeda buat developer Python (mana duck typing-ku?) versus developer Java (mana class hierarchy-ku?).

Anchor language itu bukan sekadar pengetahuan tambahan — dia sistem koordinatnya. Ganti anchor, semua analoginya ikut berubah.

Lessons Learned

  • Belajar bahasa baru itu sebagian besar terjemahan, bukan hafalan — petakan paradigmanya, jangan grind sintaksnya.
  • "Kenapa" mengalahkan "cara". Paradigm shift (errors as values, ownership, concurrency CSP) adalah tempat pemahaman sebenarnya tinggal.
  • Gotcha itu spesifik per pasangan bahasa. Warning yang dibutuhkan developer TS soal Go berbeda dengan yang dibutuhkan developer Python.
  • Formatnya plain markdown, jadi jalan di agent apa pun — Claude Code, Cursor, apa pun yang bisa baca file.

Kalau tahun ini sedang pindah stack, coba ubah kerangka prompt-mu: "jelaskan seperti aku developer TypeScript" itu prompt yang jauh lebih bagus daripada "jelaskan ke aku". Semoga membantu buat yang sedang di fase yang sama. 😄

AT
Athalla Rizky
Full-Stack Engineer · Backend · AI tooling
I write about backend systems, developer experience, and running software projects with AI agents. Follow along — new posts every other week.