Pemrogram menggunakan kompiler untuk mengubah kode sumber menjadi kode mesin.
Komputer membaca perintah dari bahasa mesin yang ditulis dalam biner, yaitu string panjang nol dan satu. Sementara komputer dapat membaca bahasa ini secara efisien, kebanyakan pemrogram manusia tidak bisa. Itulah sebabnya programmer bekerja dalam bahasa pemrograman yang dapat mereka pahami, yang kemudian mereka terjemahkan ke bahasa mesin yang dapat dimengerti oleh komputer. Sementara banyak bahasa yang lebih baru menggunakan juru bahasa yang menerjemahkan dari satu bahasa ke bahasa lainnya saat program berjalan, bahasa yang lebih lama bahasa pemrograman menggunakan kompiler yang melakukan terjemahan ini sepenuhnya sebelum komputer mengeksekusi program.
Keuntungan: Mandiri dan Efisien
Salah satu keuntungan utama dari program yang dikompilasi adalah bahwa mereka adalah unit mandiri yang siap dieksekusi. Karena mereka sudah dikompilasi ke dalam binari bahasa mesin, tidak ada aplikasi atau paket kedua yang harus selalu diperbarui oleh pengguna. Jika sebuah program dikompilasi untuk Windows pada arsitektur x86, pengguna akhir hanya memerlukan sistem operasi Windows yang berjalan pada arsitektur x86. Selain itu, paket yang telah dikompilasi dapat berjalan lebih cepat daripada penerjemah yang mengkompilasi kode sumber secara real time.
Video Hari Ini
Kerugian: Spesifik Perangkat Keras
Karena kompiler menerjemahkan kode sumber ke dalam bahasa mesin tertentu, program harus dikompilasi khusus untuk OS X, Windows atau Linux, serta khusus untuk 32-bit atau 64-bit ilmu bangunan. Untuk programmer atau perusahaan perangkat lunak yang mencoba mengeluarkan produk ke khalayak seluas mungkin, ini berarti mempertahankan beberapa versi kode sumber untuk aplikasi yang sama. Ini menghasilkan lebih banyak waktu yang dihabiskan untuk pemeliharaan kode sumber dan masalah tambahan saat pembaruan dirilis.
Keuntungan: Optimasi Perangkat Keras
Meskipun dikunci ke dalam paket perangkat keras tertentu memiliki kelemahan, kompilasi program juga dapat meningkatkan kinerjanya. Pengguna dapat mengirim opsi khusus ke kompiler mengenai perincian perangkat keras tempat program akan dijalankan. Hal ini memungkinkan kompiler untuk membuat kode bahasa mesin yang paling efisien dalam penggunaan perangkat keras tertentu, dibandingkan dengan kode yang lebih umum. Ini juga memungkinkan pengguna tingkat lanjut untuk mengoptimalkan kinerja program di komputer mereka.
Kerugian: Waktu Kompilasi
Salah satu kelemahan memiliki kompiler adalah bahwa ia harus benar-benar mengkompilasi kode sumber. Sementara program kecil yang dikodekan oleh banyak pemrogram pemula membutuhkan sedikit waktu untuk dikompilasi, suite aplikasi yang lebih besar dapat memakan banyak waktu untuk dikompilasi. Ketika pemrogram tidak melakukan apa-apa selain menunggu kompiler selesai, waktu ini dapat bertambah—terutama selama tahap pengembangan, ketika kode harus dikompilasi untuk menguji fungsionalitas dan memecahkan masalah gangguan.