Keuntungan dan kerugian dari kompiler

Programmer menggunakan compiler untuk mengubah kode sumber ke kode mesin.

Keuntungan: otonom dan efisien

Keuntungan besar dari program yang dikompilasi adalah bahwa mereka adalah unit otonom yang siap untuk dieksekusi. Karena mereka sudah dikompilasi dalam file bahasa mesin biner, aplikasi atau paket kedua yang harus terus diperbarui oleh pengguna tidak diperlukan. Jika sebuah program dikompilasi untuk Windows dalam arsitektur x86, pengguna akhir hanya membutuhkan sistem operasi Windows yang berjalan pada arsitektur x86. Selain itu, paket dikompilasi dapat berjalan lebih cepat daripada kode sumber interpreter kompilator real-time.

Kekurangan: khusus untuk perangkat keras

Karena compiler menerjemahkan kode sumber ke bahasa mesin tertentu, program harus dikompilasi secara khusus untuk OS X, Windows atau Linux, serta untuk arsitektur 32 atau 64 bit. Untuk programmer atau perusahaan perangkat lunak yang mencoba membuat produk menjangkau khalayak seluas mungkin, ini mewakili kebutuhan untuk memiliki beberapa versi kode sumber untuk aplikasi yang sama, yang menghasilkan lebih banyak waktu yang dihabiskan untuk produk. pemeliharaan kode sumber dan masalah tambahan saat pembaruan dirilis.

Keuntungan: optimasi perangkat keras

Sementara terbatas pada paket perangkat keras tertentu memiliki kekurangannya, menyusun program juga dapat meningkatkan kinerja yang terakhir. Pengguna dapat mengirim opsi spesifik ke kompiler, terkait dengan rincian perangkat keras tempat program akan dijalankan. Hal ini memungkinkan compiler untuk menghasilkan kode dalam bahasa mesin yang membuat penggunaan yang lebih efisien dari perangkat keras yang ditentukan, yang bertentangan dengan kode yang lebih umum. Ini juga memungkinkan pengguna tingkat lanjut untuk mengoptimalkan kinerja program di komputer mereka.

Kerugian: waktu kompilasi

Salah satu kerugian dari memiliki compiler adalah Anda harus benar-benar mengkompilasi kode sumber. Sementara program-program kecil yang banyak dikodekan oleh pengembang pemula membutuhkan jumlah waktu yang sepele untuk dikompilasi, suite aplikasi yang besar dapat mengambil banyak waktu untuk dikompilasi. Ketika programmer tidak melakukan apa-apa selain menunggu kompilator selesai, kali ini dapat membuat proses lebih lambat, terutama selama tahap pengembangan, ketika kode harus dikompilasi untuk menguji fungsionalitasnya dan menyelesaikan kesalahan.