Perbedaan antara compiled dengan interpreted terletak pada bagaimana komputer membaca atau menjalankan kode yang sudah kamu buat.
Compiled
Proses compiled ini bisa diibaratkan seperti naskah yang sudah kamu tulis, diserahkan ke penerjemah professional untuk diterjemahkan ke bahasa yang komputer tau, hasilnya jadi sebuah file atau dokumen yang siap digunakan. Contoh bahasanya C++, C, Rust dan Go.
Contoh gcc kode.c -o program
merupakan proses compile atau penerjemahan yang outputnya berupa file yaitu program. Hasil compile tersebut bisa dijalankan tanpa melakukan proses penerjemahan lagi.
gcc kode.c -o program
./program
Kelebihan
- Eksekusi cepat
- Optimal untuk aplikasi besar
- Keamanan lebih tinggi karena kode sumber tidak langsung terlihat
Kekurangan
- Proses compile memakan waktu
- Tidak fleksibel untuk perubahan kecil
Interpreted
Kalau interpreted bisa diibarakan seperti kamu punya penerjemah pribadi setiap kamu berbicara akan langsung diterjemahkan. Artinya proses penerjemahan dilakukan secara real-time. Contoh bahasa yang diproses dengan cara ini yaitu Python, Javascript dan Ruby.
Contoh menjalankan Python
py program.py
Contoh menjalankan Javascript
node script.js
Kelebihan
- Mudah di-debug saat pengembangan
- Portabilitas tinggi, cukup install interpreter di perangkat
Kekurangan
- Eksekusi lebih lambat
- Membutuhkan interpreter, jadi tidak langsung standalone
Perbedaan
Aspek | Compiled | Interpreted |
---|---|---|
Proses Eksekusi | Kode diterjemahkan sepenuhnya ke dalam bahasa mesin sebelum dijalankan | Kode diterjemahkan baris per baris saat dijalankan |
Kecepatan Eksekusi | Cepat karena sudah diterjemahkan sepenuhnya | Lambat karena diterjemahkan setiap kali dijalankan |
Error Handling | Error ditemukan saat proses compile, sebelum dijalankan | Error ditemukan saat kode berjalan (runtime) |
Portabilitas | Harus compile ulang di setiap platform (karena file biner berbeda) | Bisa langsung dijalankan di platform yang punya interpreter |
Ukuran File | Hasil compile menghasilkan file biner (ukuran lebih besar) | Kode sumber lebih kecil, tapi butuh interpreter untuk jalan |
Contoh Bahasa | C, C++, Rust, Go | Python, JavaScript, Ruby |
Terimakasih sudah membaca blog ini, jangan lupa untuk membaca blog yang lainnya. Semoga bermanfaat.