Derleyicilerin avantajları ve dezavantajları

Programcılar kaynak kodunu makine koduna dönüştürmek için derleyicileri kullanırlar.

Avantajı: otonom ve verimli

Derlenen programların büyük bir avantajı, yürütülmeye hazır özerk birimler olmalarıdır. Onlar zaten ikili makine dil dosyalarında derlenmiş olduğundan, kullanıcının güncel tutulması gereken ikinci bir uygulama veya paket gerekli değildir. Bir program Windows için bir x86 mimarisinde derlenmişse, son kullanıcının yalnızca x86 mimarisinde çalışan bir Windows işletim sistemine ihtiyacı vardır. Ayrıca, önceden derlenmiş bir paket, gerçek zamanlı bir derleyici çevirmen kaynak kodundan daha hızlı çalışabilir.

Dezavantaj: bir donanıma özgü

Bir derleyici kaynak kodu belirli bir makine diline çevirdiğinden, programlar OS X, Windows veya Linux için olduğu gibi 32 veya 64 bit mimariler için de özel olarak derlenmelidir. Bir ürün üreticisi veya bir yazılım şirketi için mümkün olan en geniş kitleye ulaşmaya çalışanlar için, bu, aynı uygulama için kaynak kodun birden çok sürümüne sahip olma ihtiyacını temsil eder, bu da ürün için harcanan zamanın büyük bir miktarına neden olur. Kaynak kodun bakımı ve güncellemeler yayınlandığında ek sorunlar.

Avantajı: donanım optimizasyonu

Belirli bir donanım paketiyle kısıtlı olmasının sakıncaları olsa da, bir programın derlenmesi de ikincisinin performansını artırabilir. Kullanıcılar, programın çalışacağı donanımın ayrıntıları ile ilgili olarak derleyicilere özel seçenekler gönderebilir. Bu, derleyicinin, daha genel kodun aksine, belirtilen donanımın daha verimli kullanılmasını sağlayan makine dilinde kod üretmesini sağlar. Bu ayrıca gelişmiş kullanıcıların bilgisayarlarındaki bir programın performansını optimize etmelerine de olanak tanır.

Dezavantaj: derleme süreleri

Bir derleyiciye sahip olmanın dezavantajlarından biri, kaynak kodunu gerçekten derlemeniz gerektiğidir. Çoğu acemi geliştiricisinin kodladığı küçük programlar, derlenecek çok az zaman gerektirirken, büyük uygulama sübvansiyonları derlenecek kadar zaman alabilir. Programcıların yapacak bir şeyleri olmadığında ancak derleyicinin bitmesini beklerken, bu süre, özellikle geliştirme aşamasında, kodun işlevlerini sınamak ve hataları gidermek üzere derlenmesi gerektiğinde işlemi yavaşlatabilir.