Perbezaan Antara Bahasa Disusun dan Ditakrifkan

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

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

Apa itu Bahasa Disusun?

Komputer hanya mampu menjalankan bahasa mesin, yang merupakan bahasa unit pemprosesan pusat (CPU) dan sangat mudah. Matlamat pelaksanaan bahasa pengaturcaraan adalah untuk menerjemahkan program sumber ke dalam bahasa mesin sehingga dapat dijalankan oleh CPU. Semua pelaksanaan bahasa menerjemahkan program sumber menjadi beberapa perantaraan perantaraan sebelum menerjemahkan perantaraan pertengahan ke bahasa mesin. Kaedah yang paling langsung untuk menerjemahkan program ke bahasa mesin disebut kompilasi. Program yang ditulis dalam bahasa yang dikompilasi mesti diubah menjadi format yang berbeza sebelum ia dijalankan. Kod sumber mesti diubah menjadi arahan yang boleh dibaca mesin sebelum pelaksanaan. Ringkasnya, bahasa yang biasanya penyusunnya dan bukan penterjemah disebut bahasa yang disusun.

Apakah bahasa yang ditafsirkan?

Seorang jurubahasa adalah sebuah program yang ditulis dalam beberapa bahasa lain dan disusun menjadi bahasa yang boleh dibaca mesin. Interpreter itu sendiri adalah program bahasa mesin dan ditulis untuk membaca program sumber dari bahasa yang ditafsirkan dan menafsirkannya. Bahasa yang diterjemahkan, sebaliknya, tidak menyusun kod sumber menjadi bahasa mesin sebelum menjalankan program. Ia hanya menafsirkan kod dengan cepat. Oleh itu, anda tidak mendapat faedah atau kekurangan kesilapan kompilasi. Bahasa yang ditafsirkan memerlukan sebilangan perisian yang dipanggil penterjemah, 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 Disusun dan Ditafsirkan

Asas-asas Bahasa Disusun dan Ditakrifkan

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

Compiler vs. Interpreter

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

Kebolehgunaan

- Program yang dikompilasi berjalan lebih cepat daripada program yang ditafsirkan, tetapi program yang ditafsirkan boleh diubah suai semasa program dijalankan. Ini menjadikan program yang difahami sesuai untuk menulis perisian prestasi secara langsung. Bekerja dengan bahasa yang disusun boleh menjadi bagus kerana banyak bug yang terdapat apabila kod sumber dikumpulkan. Pepijat ini, yang dipanggil kesilapan kompilasi menghalang kod daripada menyusun. Sebaliknya, bahasa yang ditafsirkan tidak dikompilasi, jadi anda tidak mendapat manfaat atau kekurangan kesilapan kompilasi.

Debugging

- Dengan bahasa yang ditafsirkan, semua penyahpepijatan berlaku pada masa larian. Tiada langkah kompilasi yang mana anda boleh membuang kesilapan sintaks dalam kod anda; sebaliknya anda perlu menjalankan program untuk mencari sebarang ralat di dalamnya. Ini menjadi masalah apabila anda menafsirkan program mengubah fail, atau membuat apa-apa perubahan kepada sumber yang tetap. Ini menjadikan beberapa pepijat lebih sukar untuk ditangkap kerana kod tersebut tidak perlu dikompilasi. Bahasa yang ditafsirkan juga menunjukkan beberapa kebimbangan keselamatan dalam persekitaran dalam talian kerana kod jahat boleh disuntikkan pada pertengahan pelaksanaan.

Bahasa yang dikumpulkan berbanding bahasa yang ditafsirkan: Carta Perbandingan

Ringkasan Bahasa Disusun vs. Ditafsirkan

Pendek kata, kedua-dua bahasa yang disusun dan ditafsirkan mempunyai kekuatan mereka. Sesetengah bahasa menghendaki semua kod anda disusun sebelum mana-mana kod boleh dilaksanakan. Bahasa-bahasa lain mentafsirkan setiap arahan pada masa kod itu dilaksanakan. Perbezaan utama antara kedua adalah bahawa terdapat sekurang-kurangnya dua langkah untuk mendapatkan dari kod sumber untuk pelaksanaan dengan bahasa yang dikompilasi. Walau bagaimanapun, dengan bahasa yang ditafsirkan, hanya ada satu langkah - pelaksanaan. Program yang dikompilasi berjalan lebih cepat daripada program yang ditafsirkan, tetapi program yang ditafsirkan boleh diubah suai semasa program dijalankan.