Pilih Berdasarkan Tujuan
Lewati pergulatan batinnya. Cocokkan tujuan Anda dengan sebuah baris dan lanjutkan — Anda selalu bisa mengubah arah nanti, dan untuk proyek pertama, momentum mengalahkan optimisasi.
Berikut adalah seluruh keputusan itu sebagai satu pohon (tree). Mulai dari atas, jawab setiap pertanyaan, dan ikuti cabangnya ke stack Anda:
┌─────────────────────────┐
│ What are you building? │
└────────────┬────────────┘
┌──────────────┬───────┼────────┬──────────────┐
▼ ▼ ▼ ▼ ▼
┌─────────┐ ┌───────────┐ ┌─────┐ ┌────────┐ ┌────────────┐
│ Website │ │ AI / data │ │ API │ │ Mobile │ │ Max speed │
│ web app │ │ automation│ │backend│ │ app │ │ / systems │
└────┬────┘ └─────┬─────┘ └──┬──┘ └───┬────┘ └─────┬──────┘
▼ ▼ ▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────┐ ┌──────────┐ ┌──────┐
│TypeScript│ │ Python │ │ Go │ │iOS: Swift│ │ Rust │
│+ React / │ │ │ │ or TS│ │Android: │ │(only │
│ Next.js │ │ │ │ │ │ Kotlin │ │ if │
└─────────┘ └──────────┘ └──────┘ │or RN (TS)│ │needed)│
└──────────┘ └──────┘
When unsure ─────────────▶ TypeScript or Python
Need to store data? ─────▶ add SQL alongside any choice
- Saya ingin membangun sebuah situs atau aplikasi web. → TypeScript (dengan React/Next.js). Pilihan yang jelas dan didukung dengan baik.
- Saya ingin melakukan AI, data, atau otomasi. → Python. Di situlah alat-alatnya berada.
- Saya ingin sebuah atau layanan yang cepat. → Go (sederhana dan cepat) atau TypeScript (jika ia bagian dari sebuah stack web). FastAPI-nya Python juga bekerja dengan baik.
- Saya sedang membangun sebuah aplikasi mobile. → Swift untuk iOS, Kotlin untuk Android — atau pertimbangkan pendekatan lintas-platform berbasis web (React Native) untuk tetap berada di TypeScript.
- Saya butuh kecepatan mentah atau kendali level sistem. → Rust, tapi hanya jika Anda sudah memastikan Anda benar-benar membutuhkannya. Sebagian besar orang tidak.
- Saya sedang menambahkan sesuatu ke sebuah situs yang sudah ada. → Apa pun bahasa yang sudah dipakai di sana. Sebuah plugin WordPress berarti PHP; sebuah aplikasi Rails lama berarti Ruby. Cocokkan dengan basis kodenya, jangan melawannya.
- Saya hanya ingin belajar dan merilis sesuatu dengan cepat. → Python atau TypeScript. Keduanya memaafkan (forgiving), keduanya adalah bahasa yang paling dikenal AI, dan keduanya punya tutorial dan contoh yang tak berujung.
- Aplikasi saya perlu menyimpan data. → Apa pun yang Anda pilih di atas, ditambah untuk database-nya. Anda tidak memilih di antara keduanya.
Pelajaran meta-nya: kalau ragu, pilihlah opsi yang populer. TypeScript dan Python mencakup sebagian besar dari apa pun yang akan pernah dibangun oleh seorang vibe coder tunggal, dan keduanya adalah bahasa yang paling andal ditangani oleh asisten AI Anda. Bahasa "terbaik" untuk vibe coding biasanya adalah bahasa yang paling dikenal AI — dan itu berarti bahasa yang populer. Simpan pilihan-pilihan eksotis untuk saat Anda punya alasan yang konkret, dan biarkan AI menangani sintaksnya dalam kedua kasus.