Perbedaan antara kompiler dan penerjemah

Perbedaan antara kompiler dan penerjemah

Compiler vs Interpreter

Saat menulis program dalam bahasa tingkat tinggi, komputer tidak akan dapat memahaminya. Sehingga dapat digunakan, Anda perlu mengubahnya menjadi sesuatu yang dipahami komputer. Di sinilah kompiler dan penerjemah masuk karena mereka berdua melakukan fungsi yang sama. Perbedaan utama antara kompiler dan juru bahasa adalah ketika mereka menjalankan kode. Dengan seorang penerjemah, kode tersebut dieksekusi segera dengan penafsiran yang meneruskan kode yang diartikan ke komputer. Sebagai perbandingan, kompiler tidak menjalankan kode. Sebaliknya, ia menulis kode yang sudah selesai ke dalam disk. Kode yang ditulis ke disk kemudian dapat dieksekusi kapan saja.

Perbedaan utama antara penerjemah dan kompiler memunculkan yang lain. Karena penerjemah diperlukan saat menjalankan program, Anda harus memasang juru bahasa jika Anda ingin menjalankan program di mesin Anda. Ini tidak terjadi dengan kompiler. Setelah program disusun, Anda hanya perlu program yang dikompilasi dan bukan kompiler atau kode asli.

Keuntungan menggunakan interpreter daripada kompiler adalah kemampuan untuk menjalankan program pada komputer yang menjalankan sistem operasi yang berbeda; Mengingat bahwa Anda memiliki penerjemah yang sesuai. Saat Anda menyusun program, itu hanya untuk sistem operasi tertentu dan tidak akan berjalan pada orang lain. Untuk membuatnya berjalan pada sistem operasi lain, Anda perlu mengoptimalkan kode Anda untuk sistem operasi itu dan mengkompilasinya lagi.

Kelemahan dari menggunakan juru bahasa adalah overhead yang ditambahkan. Seorang penerjemah akan membutuhkan kekuatan pemrosesan dan setiap baris kode akan ditafsirkan selama runtime. Ini tidak terjadi ketika Anda memiliki program yang dikompilasi karena sistem operasi dapat membacanya secara langsung dan menjalankan setiap perintah. Langkah ekstra menafsirkan kode membuat program yang ditafsirkan untuk berjalan secara signifikan lebih lambat dari kode yang dikompilasi. Penerjemah juga tidak akan dapat memanfaatkan optimasi spesifik OS yang dapat membiarkan program yang dikompilasi berjalan lebih efisien.

Memilih antara kompiler dan juru bahasa harus bergantung pada apakah Anda menginginkan portabilitas atau kinerja.

Ringkasan:

  1. Seorang interpreter secara langsung menjalankan kode sementara kompiler tidak
  2. Seorang penerjemah harus tersedia di mesin target sementara kompiler tidak
  3. Program yang ditafsirkan akan berjalan pada beberapa platform sementara program yang dikompilasi tidak akan
  4. Program yang ditafsirkan akan berjalan lebih lambat dari program yang dikompilasi