Perbezaan antara bahasa yang disusun dan ditafsirkan

Perbezaan antara bahasa yang disusun dan ditafsirkan

Bahasa pengaturcaraan umumnya jatuh ke dalam salah satu daripada dua jenis bahasa - bahasa yang disusun atau bahasa yang ditafsirkan. Walau bagaimanapun, perbezaannya tidak dalam bahasa; Ia dalam pelaksanaannya. Tidak salah untuk mengatakan bahawa kedua -duanya adalah sifat pelaksanaan bahasa, tetapi bukan sifat bahasa itu sendiri. Melaksanakan bahasa pengaturcaraan bermaksud merapatkan jurang dari pemikiran peringkat tinggi pengaturcara ke sifar dan mesin. Sekiranya dilakukan dengan cekap, pengaturcara boleh menumpukan perhatian kepada masalah sebenar, dan bukannya pada butiran mesin. Oleh itu, bahasa pengaturcaraan dapat disusun atau ditafsirkan berdasarkan pelaksanaannya.

Nah, kedua -dua jenis bahasa pengaturcaraan mempunyai kekuatan mereka. Sesetengah bahasa memerlukan semua kod anda untuk disusun sebelum mana -mana kod boleh dilaksanakan. Bahasa lain mentafsirkan setiap arahan pada masa kod dilaksanakan. Malah, bahasa yang disusun biasanya disusun oleh pengaturcara pada komputer pengaturcara; Apabila pengaturcara berkongsi perisian, dia berkongsi yang disusun 0 dan 1, tetapi bukan kod sumber. Walau bagaimanapun, dengan bahasa yang ditafsirkan, kod itu disimpan dalam format yang sama yang anda masukkan dan mesti diterjemahkan pada masa lari. Mari kita lihat perbandingan terperinci antara bahasa yang disusun dan ditafsirkan.

Apa itu bahasa yang disusun?

Komputer hanya mampu melaksanakan bahasa mesin, yang merupakan bahasa unit pemprosesan pusat (CPU) dan sangat mudah. Matlamat pelaksanaan bahasa pengaturcaraan adalah untuk menterjemahkan program sumber ke dalam bahasa mesin supaya dapat dilaksanakan oleh CPU. Semua pelaksanaan bahasa menerjemahkan program sumber ke dalam beberapa perwakilan pertengahan sebelum menerjemahkan perwakilan pertengahan ke bahasa mesin. Kaedah paling langsung untuk menerjemahkan program ke bahasa mesin dipanggil penyusunan. Program yang ditulis dalam bahasa yang disusun mesti ditukar menjadi format yang berbeza sebelum dijalankan. Kod sumber mesti diubah menjadi arahan yang boleh dibaca mesin sebelum pelaksanaan. Singkatnya, bahasa -bahasa yang pelaksanaannya biasanya penyusun dan bukan jurubahasa dipanggil bahasa yang disusun.

Apa itu bahasa yang ditafsirkan?

Jurubahasa adalah program yang ditulis dalam beberapa bahasa lain dan disusun menjadi bahasa yang boleh dibaca mesin. Jurubahasa itu sendiri adalah program bahasa mesin dan ditulis untuk membaca program sumber dari bahasa yang ditafsirkan dan mentafsirkannya. Bahasa yang ditafsirkan, sebaliknya, tidak menyusun kod sumber ke dalam bahasa mesin sebelum menjalankan program. Ia hanya menafsirkan kod dengan cepat. Oleh itu, anda tidak mendapat faedah atau kelemahan kesilapan kompilasi. Bahasa yang ditafsirkan memerlukan sekeping perisian yang dipanggil jurubahasa, yang mengambil kod sumber dan melaksanakan satu arahan pada satu masa. Apabila anda menjalankan program sumber yang ditafsirkan, anda sebenarnya menjalankan jurubahasa. Interpreter adalah program bahasa mesin yang melaksanakan semua program yang anda tulis dalam bahasa yang ditafsirkan.

Perbezaan antara bahasa yang disusun dan ditafsirkan

Asas bahasa yang disusun dan ditafsirkan

- Program yang ditulis dalam bahasa yang disusun mesti ditukar menjadi format yang berbeza sebelum dijalankan. Kod sumber mesti diubah menjadi arahan yang boleh dibaca mesin sebelum pelaksanaan. Bahasa yang ditafsirkan, sebaliknya, tidak menyusun kod sumber ke dalam bahasa mesin sebelum menjalankan program. Ia hanya menafsirkan kod dengan cepat. Bahasa yang ditafsirkan memerlukan sekeping perisian yang dipanggil jurubahasa, yang mengambil kod sumber dan melaksanakan satu arahan pada satu masa.

Pengkompil vs. Jurubahasa

- Dengan bahasa yang disusun, terdapat sekurang -kurangnya dua langkah untuk mendapatkan dari kod sumber untuk pelaksanaan, sementara dengan bahasa yang ditafsirkan, hanya ada satu pelaksanaan. Program yang ditulis dalam bahasa yang ditafsirkan tidak disusun - ia ditafsirkan oleh program lain semasa ia berjalan. Program yang ditulis dalam bahasa yang disusun melalui proses untuk mengubahnya dari format teks yang boleh dibaca manusia ke dalam format yang boleh dibaca mesin. Program yang dipanggil pengkompil menjadikan peralihan ini.

Kebolehgunaan

- Program yang disusun dijalankan lebih cepat daripada program yang ditafsirkan, tetapi program yang ditafsirkan dapat diubahsuai semasa program sedang dijalankan. Ini menjadikan program yang ditafsirkan sesuai untuk menulis perisian prestasi langsung. Bekerja dengan bahasa yang disusun boleh menjadi baik kerana banyak pepijat dijumpai apabila kod sumber disusun. Pepijat ini, yang dipanggil kesilapan kompilasi menghalang kod daripada menyusun. Sebaliknya, bahasa yang ditafsirkan tidak disusun, jadi anda tidak mendapat manfaat atau kelemahan kesilapan penyusunan.

Debugging

- Dengan bahasa yang ditafsirkan, semua penyahpepijatan berlaku pada masa lari. Tiada langkah penyusunan di mana anda boleh membuang semua kesilapan sintaks dalam kod anda; Sebaliknya anda mesti menjalankan program untuk mencari kesalahan di dalamnya. Ini menjadi masalah apabila anda menafsirkan program mengubah fail, atau membuat perubahan kepada sumber tetap. Ini menjadikan beberapa pepijat lebih sukar untuk ditangkap kerana kod itu tidak perlu disusun. Bahasa yang ditafsirkan juga membentangkan beberapa kebimbangan keselamatan dalam persekitaran dalam talian kerana kod berniat jahat dapat disuntik pertengahan pelaksanaan.

Bahasa yang disusun vs. Bahasa yang ditafsirkan: carta perbandingan

Ringkasan Compiled vs. Bahasa ditafsirkan

Ringkasnya, kedua -dua bahasa yang disusun dan ditafsirkan mempunyai kekuatan mereka. Sesetengah bahasa memerlukan semua kod anda untuk disusun sebelum mana -mana kod boleh dilaksanakan. Bahasa lain mentafsirkan setiap arahan pada masa kod dilaksanakan. Perbezaan utama antara kedua -duanya ialah terdapat sekurang -kurangnya dua langkah untuk mendapatkan dari kod sumber untuk pelaksanaan dengan bahasa yang disusun. Walau bagaimanapun, dengan bahasa yang ditafsirkan, hanya ada satu langkah - pelaksanaan. Program yang disusun dijalankan lebih cepat daripada program yang ditafsirkan, tetapi program yang ditafsirkan dapat diubahsuai semasa program sedang dijalankan.