Perbedaan Antara Kompilator dan Interpreter Perbedaan Antara

Anonim

Compiler vs Interpreter

Saat menulis program dalam bahasa tingkat tinggi, komputer tidak akan dapat memahaminya. Agar bisa digunakan, Anda perlu mengubahnya menjadi sesuatu yang komputer mengerti. Di sinilah kompiler dan interpreter masuk saat mereka berdua melakukan fungsi yang sama. Perbedaan utama antara compiler dan interpreter adalah ketika mereka mengeksekusi kode. Dengan penerjemah, kodenya langsung dieksekusi dengan menafsirkan kode yang diinterpretasikan ke komputer. Sebagai perbandingan, compiler tidak menjalankan kode. Sebagai gantinya, ia menulis kode yang telah selesai ke dalam disk. Kode yang ditulis ke disk kemudian bisa dieksekusi kapan saja.

Perbedaan utama antara penerjemah dan compiler menumbuhkan yang lain. Karena penerjemah diperlukan saat Anda menjalankan sebuah program, Anda harus menginstal juru bahasa jika Anda ingin menjalankan program di komputer Anda. Ini tidak terjadi dengan kompilator. Setelah program telah dikompilasi, Anda hanya memerlukan program yang dikompilasi dan bukan compiler atau kode asli.

Keuntungan menggunakan juru bahasa daripada kompilator adalah kemampuan untuk menjalankan program pada komputer yang menjalankan sistem operasi yang berbeda; mengingat bahwa Anda memiliki penerjemah yang tepat. Bila Anda mengkompilasi sebuah program, itu hanya untuk sistem operasi tertentu dan tidak akan berjalan pada orang lain. Agar berjalan di sistem operasi lain, Anda perlu mengoptimalkan kode Anda untuk sistem operasi itu dan mengkompilasinya lagi.

Kelemahan penggunaan penerjemah adalah overhead tambahan. Seorang penerjemah membutuhkan beberapa kekuatan pemrosesan dan setiap baris kode akan diinterpretasikan selama runtime. Ini tidak terjadi ketika Anda memiliki program yang dikompilasi karena sistem operasi dapat membacanya secara langsung dan menjalankan setiap perintah. Langkah tambahan untuk menafsirkan kode membuat program yang ditafsirkan berjalan lebih lambat dari kode yang dikompilasi. Penerjemah juga tidak dapat memanfaatkan pengoptimalan spesifik OS yang memungkinkan program yang dikompilasi berjalan lebih efisien.

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

Ringkasan:

  1. Penerjemah secara langsung mengeksekusi kode sementara kompilator tidak
  2. Seorang penerjemah perlu tersedia di mesin target sementara kompilator tidak
  3. Program yang ditafsirkan akan berjalan di banyak platform sementara Program yang dikompilasi tidak akan
  4. Program yang ditafsirkan akan berjalan lebih lambat dari program yang dikompilasi