Programlama dilleri genellikle iki tür dilden birine girer - derlenmiş diller veya yorumlanmış diller. Ancak, fark dilde değildir; uygulamada. Her ikisinin de bir dilin uygulanmasının özellikleri olduğunu söylemek yanlış değildir, dilin kendisinin özellikleri değildir. Bir programlama dilinin uygulanması, programlayıcının üst düzey düşüncesinden makinenin sıfırlarına ve makinelerin düşüncelerine olan boşluğu doldurmak anlamına gelir. Verimli bir şekilde yapılırsa, programcılar makinelerin detaylarına değil asıl sorunlara konsantre olabilirler. Böylece, bir programlama dili uygulamaya dayalı olarak derlenebilir veya yorumlanabilir.
Her iki programlama dilinin de güçlü yanları var. Bazı diller, kodlardan herhangi biri yürütülmeden önce tüm kodunuzun derlenmesini gerektirir. Diğer diller her bir komutu kod yürütülürken yorumlar. Aslında, derlenen diller genellikle programcının bilgisayarındaki bir programcı tarafından derlenir; programcı yazılımı paylaştığında, derlenen 0'ları ve 1'leri paylaşır, ancak kaynak kodunu paylaşmaz. Ancak, yorumlanmış bir dilde, kod girdiğiniz formatta kaydedilir ve çalışma zamanında çevrilmelidir. Derlenmiş ve yorumlanmış diller arasında ayrıntılı bir karşılaştırmaya bakalım.
Bilgisayarlar yalnızca merkezi işlem biriminin (CPU) dili olan ve çok basit olan makine dilini yürütebilir. Herhangi bir programlama dili uygulamasının amacı, bir kaynak programı CPU tarafından yürütülebilmesi için makine diline çevirmektir. Tüm dil uygulamaları, ara gösterimi makine diline çevirmeden önce kaynak programı bazı ara gösterimlere dönüştürür. Bir programı makine diline çevirmenin en doğrudan yöntemi derleme olarak adlandırılır. Derlenmiş bir dilde yazılmış bir program çalıştırılmadan önce farklı bir biçime dönüştürülmelidir. Kaynak kodu, çalıştırmadan önce makinede okunabilir talimatlara dönüştürülmelidir. Kısacası, uygulamaları genellikle derleyici olan ve tercüman olmayan dillere derlenmiş diller denir.
Tercüman, başka bir dilde yazılmış ve makine tarafından okunabilir dilde derlenmiş bir programdır. Tercümanın kendisi makine dili programıdır ve kaynak programları yorumlanan dilden okumak ve bunları yorumlamak için yazılmıştır. Yorumlanan bir dil, aksine, programı çalıştırmadan önce kaynak kodunu makine diline derlemez. Sadece kodu anında yorumlar. Yani, derleme hatalarının yararlarını veya dezavantajlarını alamazsınız. Yorumlanan diller, kaynak kodunu alan ve her seferinde bir komut yürüten bir tercüman olarak adlandırılan bir yazılım parçası gerektirir. Yorumlanmış bir kaynak program çalıştırdığınızda, aslında yorumlayıcıyı çalıştırırsınız. Tercüman, tercüme edilen dilde yazdığınız tüm programları yürüten makine dili programıdır.
- Derlenmiş bir dilde yazılmış bir program çalıştırılmadan önce farklı bir biçime dönüştürülmelidir. Kaynak kodu, çalıştırmadan önce makinede okunabilir talimatlara dönüştürülmelidir. Yorumlanan bir dil, aksine, programı çalıştırmadan önce kaynak kodunu makine diline derlemez. Sadece kodu anında yorumlar. Yorumlanan diller, kaynak kodunu alan ve her seferinde bir komut yürüten bir tercüman olarak adlandırılan bir yazılım parçası gerektirir..
- Derlenmiş dillerle, kaynak koddan yürütmeye geçmek için en az iki adım vardır, yorumlanmış dillerle ise yalnızca bir yürütme vardır. Yorumlanan bir dilde yazılmış bir program derlenmez - çalışırken başka bir program tarafından yorumlanır. Derlenmiş bir dilde yazılmış bir program, onu okunabilir metin biçiminden makine tarafından okunabilir bir biçime dönüştüren bir işlemden geçer. Derleyici adı verilen bir program bu geçişi yapar.
- Derlenen programlar yorumlanan programlardan daha hızlı çalışır, ancak yorum yapılan programlar program çalışırken değiştirilebilir. Bu, yorumlanmış programları canlı performans yazılımı yazmak için ideal hale getirir. Derlenmiş dillerle çalışmak hoş olabilir çünkü kaynak kodu derlendiğinde birçok hata bulunur. Derleme hataları adı verilen bu hatalar kodun derlenmesini önler. Aksine, yorumlanan diller derlenmez, bu nedenle derleme hatalarının yararlarını veya dezavantajlarını alamazsınız.
- Yorumlanan dillerde, tüm hata ayıklama çalışma zamanında gerçekleşir. Kodunuzdaki tüm sözdizimi hatalarını yayınlayabileceğiniz bir derleme adımı yoktur; bunun yerine içindeki hataları bulmak için programı çalıştırmanız gerekir. Program dosyaları değiştirdiğinizde veya kalıcı kaynaklarda değişiklik yaptığınızda yorumlandığında bu bir sorun haline gelir. Bu, kodun derlenmesi gerekmediğinden bazı hataların yakalanmasını zorlaştırır. Yorumlanan diller, kötü niyetli kod yürütme ortasında enjekte edilebileceğinden çevrimiçi ortamda bazı güvenlik endişeleri de sunar.
Özetle, hem derlenmiş hem de yorumlanmış dillerin güçlü yanları vardır. Bazı diller, kodlardan herhangi biri yürütülmeden önce tüm kodunuzun derlenmesini gerektirir. Diğer diller her bir komutu kod yürütülürken yorumlar. İkisi arasındaki temel fark, derlenmiş dillerle kaynak koddan yürütmeye geçmek için en az iki adım olmasıdır. Ancak, yorumlanmış dillerle yalnızca bir adım vardır - yürütme. Derlenen programlar yorumlanan programlardan daha hızlı çalışır, ancak yorum yapılan programlar program çalışırken değiştirilebilir.