Compiler Dan Interpreter ?
Interpreter adalah program sistem yang berfungsi sebagai penterjemah kode program yang dibuat oleh programmer ke dalam bahasa mesin. Interpreter mengeksesusi perintah baris demi baris dengan mengikuti logika yang ada.
Compiler adalah program sistem yang juga berfungsi sebagai penterjemah kode program ke dalam bahasa mesin agar bisa dijalankan oleh mesin. Perbedaannya dengan interpreter adalah compiler mengeksekusi seluruh instruksi dalam program sekaligus.
Perbedaan antara Compiler dengan Interpreter :
1. Untuk menjalankan menjalankan program hasil kompilasi (hasil compiler) dapat dilakukan tanpa membutuhkan source code. Kalau interpreter membutuhkan source code.
2. Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek dengan library ) . Kalau interpreter tidak ada proses terpisah.
3. Jika compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam library.
4. Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
5. Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan.