Perbezaan antara pengkompil dan jurubahasa

Perbezaan antara pengkompil dan jurubahasa

Pengkompil vs penterjemah

Semasa menulis program dalam bahasa peringkat tinggi, komputer tidak akan dapat memahaminya. Supaya ia dapat digunakan, anda perlu mengubahnya menjadi sesuatu yang difahami oleh komputer. Di sinilah penyusun dan jurubahasa datang kerana mereka berdua melakukan fungsi yang sama. Perbezaan utama antara pengkompil dan penterjemah adalah ketika mereka melaksanakan kod tersebut. Dengan penterjemah, kod itu dilaksanakan dengan segera dengan penafsiran yang melepasi kod yang ditafsirkan ke komputer. Sebagai perbandingan, pengkompil tidak melaksanakan kod tersebut. Sebaliknya, ia menulis kod siap ke dalam cakera. Kod yang ditulis ke cakera kemudian boleh dilaksanakan pada bila -bila masa.

Perbezaan utama antara jurubahasa dan pengkompil memancarkan yang lain. Oleh kerana jurubahasa diperlukan semasa anda menjalankan program, anda perlu memasang jurubahasa jika anda ingin melaksanakan program di mesin anda. Ini tidak berlaku dengan pengkompil. Sebaik sahaja program telah disusun, anda hanya memerlukan program yang disusun dan bukan pengkompil atau kod asal.

Satu kelebihan menggunakan jurubahasa dan bukannya pengkompil adalah keupayaan untuk melaksanakan program pada komputer yang menjalankan sistem operasi yang berbeza; Memandangkan anda mempunyai jurubahasa yang sesuai. Apabila anda menyusun program, ia hanya untuk sistem operasi tertentu dan tidak akan berjalan pada orang lain. Untuk membuatnya berjalan pada sistem operasi lain, anda perlu mengoptimumkan kod anda untuk sistem pengendalian itu dan menyusunnya lagi.

Kelemahan menggunakan jurubahasa adalah overhead tambahan. Jurubahasa memerlukan beberapa kuasa pemprosesan dan setiap baris kod akan ditafsirkan semasa runtime. Ini tidak berlaku apabila anda mempunyai program yang disusun kerana sistem pengendalian dapat membacanya secara langsung dan melaksanakan setiap arahan. Langkah tambahan kod penafsiran menjadikan program yang ditafsirkan untuk dijalankan dengan lebih perlahan daripada kod yang disusun. Jurubahasa juga tidak dapat memanfaatkan pengoptimuman khusus OS yang dapat membiarkan program yang disusun berjalan dengan lebih efisien.

Memilih antara pengkompil dan penterjemah harus bergantung kepada sama ada anda mahukan kemudahalihan atau prestasi.

Ringkasan:

  1. Jurubahasa secara langsung melaksanakan kod semasa pengkompil tidak
  2. Jurubahasa perlu tersedia di mesin sasaran semasa pengkompil tidak
  3. Program yang ditafsirkan akan dijalankan di pelbagai platform sementara program yang disusun tidak akan
  4. Program yang ditafsirkan akan berjalan lebih perlahan daripada program yang disusun