8 entry daha
  • bir programlama dilinin ne kadar yüksek seviyeli* olduğunu anlamak için o dilin derleyicisine bakılabilir. derleyici, verilen kaynak kod*u yürütülebilir* hale getirene kadar ne kadar ter akıtıyorsa, o dil o kadar yüksek seviyeli denilebilir.
    örneğin assembly derleyicisi yazamazsınız, çünkü assembly o kadar düşük seviyeli*** bir dildir ki, bir derleyicinin yapabileceği pek birşey yoktur. assembly dilinin yürütülebilir bir programa çevrilmesi süreci bir assembler tarafından yapılır ve yapılan iş basitçe her assembly satırının karşılıkları olan instruction'lara çevrilmesidir. assembler'ın ürettiği bu object code'lar linker'dan geçtikten sonra yürütülebiliriniz hazırdır.
    buna karşılık, mesela c'de, basit bir işlev* çağırma işinin bile makine dili*'ne çevrilmesi sürecinde derleyicinin yapması gerek şeyler vardır.
    c++'ta bulunan nesne ve sınıfların data-code kısımlarının ayrılması, beklenen görevleri yapacak makine kodunun oluşturulması gerekir.* bu ve bunun gibi, bir dille makine dili arasına giren süreçler*, dili daha bi yüksek seviyeli yapar.
    java'ya bakarsak, o zaten allahlık diyebiliriz çünkü gerçek bir derleyiciye uğramaz. java derleyicisinin amacı bir yürütülebilir üretmek değil, bir yorumlayıcı* tarafından yorumlanması daha kolay olsun diye, kaynak kodu gerekli kontrollerden geçirilmiş bir byte code haline getirmektir. bununla birlikte java, makine diline çevirilmek zorunda kalmadığı için programcıya bir çok rahatlık getirir ama, bir yorumlayıcıdan* geçtiği için de çalışma anı*nda yavaştır.
    .net*'te de olay javadaki gibidir. vb olsun c# olsun vc++ olsun .net ortamındaki tüm dillerin, kendilerine has birer derleyicileri vardır. bu derleyiciler de aynı javada olduğu gibi yürütülebilir üretmek yerine ara dil* adlı ortak bir byte code hazırlarlar. çalıştırıldığı makinede de bu byte code, anlık olarak çalıştırıldığı makinenin türüne göre şipşak derleyici* tarafından makine diline çevrilir ve öyle çalıştırılırlar.

    özetlemek gerekirse compiler, programcıyla işlemci arasındaki kıymetli elçidir.

    (bkz: dot net framework) (bkz: java runtime) (bkz: jit compiler) (bkz: assembly) (bkz: high level assembly)
21 entry daha
hesabın var mı? giriş yap