Jenis Bahasa Pemrograman: Compiled vs Interpreted

Dalam dunia pemrograman, cara bahasa dijalankan bisa dibedakan menjadi dua kategori utama: compiled dan interpreted. Masing-masing memiliki kelebihan dan kekurangan tergantung kebutuhan project kamu. Berikut penjelasan dan perbandingannya.

Apa itu Interpreted Language?

Bahasa interpreted dijalankan baris demi baris oleh sebuah program yang disebut interpreter. Contoh : PHP, Python, Ruby, JavaScript

Ciri-ciri:

  • Tidak perlu proses build atau kompilasi
  • Kode bisa langsung dijalankan
  • Cocok untuk development cepat atau scripting

Apa itu Compiled Language?

Bahasa compiled perlu melalui proses kompilasi (build) untuk menghasilkan file binary yang bisa dijalankan langsung oleh sistem operasi. Contoh : Go, C/C++, Rust, Swift, Haskell

Ciri-ciri:

  • Perlu proses build sebelum dijalankan
  • Hasil kompilasi adalah file binary (misalnya .exe, .out)
  • Biasanya lebih cepat saat runtime
Interpreted Compiled
Cara jalan Baris per baris oleh interpreter Dikompilasi dulu → hasilkan binary
Butuh compile? ❌ Tidak ✅ Ya
Contoh bahasa PHP, Python, Ruby, JavaScript Go, C, Rust, Java (bytecode)
Kecepatan Biasanya lebih lambat Biasanya lebih cepat
Debugging Lebih fleksibel (real-time) Harus recompile setelah perubahan

Interpreted = langsung dijalankan oleh interpreter, cocok untuk scripting dan eksperimen cepat.
Compiled = butuh proses build dulu, tapi hasilnya lebih cepat dan efisien untuk produksi.

Bahasa Hybrid (Compiled ke Bytecode)

Beberapa bahasa tidak langsung dikompilasi ke native binary, tapi ke bytecode yang dijalankan oleh virtual machine. Contoh Java (JVM), Kotlin (JVM), C# (.NET), Dart (VM dan AOT)

List Bahasa Pemograman

Bahasa Tipe Eksekusi Compiled ke Butuh Build Manual? Runtime
PHP Interpreted - PHP Interpreter
Python Interpreted Bytecode (.pyc) Python VM
Ruby Interpreted - Ruby VM
JavaScript Interpreted (JIT) - Browser / Node.js
Go Compiled Native Binary Tidak Perlu Runtime
C Compiled Native Binary Tidak Perlu Runtime
C++ Compiled Native Binary Tidak Perlu Runtime
Rust Compiled Native Binary Tidak Perlu Runtime
Swift Compiled Native Binary Tidak Perlu Runtime
Haskell Compiled Native Binary Tidak Perlu Runtime
Java Hybrid Bytecode (.class) JVM
Kotlin Hybrid Bytecode (.class) JVM
C# Hybrid IL (.dll/.exe) .NET Runtime
Dart Hybrid Bytecode / Native Dart VM / AOT
TypeScript Transpiled JavaScript Browser / Node.js

Notes :

  • Gunakan bahasa interpreted jika kamu ingin eksperimen cepat, scripting, atau web development ringan
  • Gunakan bahasa compiled jika kamu butuh performa tinggi, efisiensi, dan deployment sebagai binary
  • Bahasa hybrid cocok untuk aplikasi besar dan scalable dengan dukungan ekosistem kuat seperti Java/.NET