Kaynak Program ve Nesne Programı arasındaki temel fark, Kaynak programın bir programcı tarafından yazılmış, insan tarafından okunabilen bir program olması, nesne programının ise bir kaynak programın derlenmesiyle oluşturulmuş, makine tarafından yürütülebilir bir program olmasıdır.
Kaynak programlar yürütülmek üzere derlenebilir veya yorumlanabilir. Decompilers, nesne programlarını orijinal kaynak programlarına geri dönüştürmeye yardımcı olur. Kaynak program ve nesne program terimlerinin göreli terimler olarak kullanıldığına dikkat etmek önemlidir. Bir program dönüştürme programı (derleyici gibi) alırsanız, giren bir kaynak program ve çıkan bir nesne programıdır. Bu nedenle, bir araç tarafından üretilen bir nesne programı, başka bir araç için kaynak dosya olabilir.
Kaynak Program Nedir?
Programcı, kaynak programı daha yüksek seviyeli bir dil kullanarak yazar. Bu nedenle, insanlar tarafından kolayca okunabilir. Kaynak programlar genellikle daha okunabilir hale getirmek için anlamlı değişken adları ve faydalı yorumlar içerir. Bir makine doğrudan bir kaynak programı çalıştıramaz. Derleyici, kaynak programın makine tarafından yürütülecek yürütülebilir koda dönüştürülmesine yardımcı olur. Alternatif olarak, bir tercüman kullanmaktır. Bir kaynak programı, ön derleme olmadan satır satır yürütür.
Şekil 01: Bir Kaynak Program
Visual Basic derlenmiş bir dil örneğidir, Java ise yorumlanmış bir dil örneğidir. Visual Basic kaynak dosyaları (.vb dosyaları).exe koduna derlenirken, Java kaynak dosyaları (.java dosyaları) önce (javac komutu kullanılarak) bayt koduna (.class dosyalarında bulunan bir nesne kodu) derlenir ve ardından java yorumlayıcısı (java komutunu kullanarak). Yazılım uygulamaları dağıtıldığında, genellikle kaynak dosyaları içermezler. Ancak, uygulama açık kaynak ise, kaynak da dağıtılır ve kullanıcı kaynak kodunu da görebilir ve değiştirebilir.
Nesne Programı Nedir?
Nesne programı genellikle, bir derleyici kullanarak bir kaynak dosyanın derlenmesinin sonucu olan, makine tarafından yürütülebilir bir dosyadır. Makine talimatlarının yanı sıra hata ayıklama bilgileri, semboller, yığın bilgileri, yer değiştirme ve profil oluşturma bilgilerini içerebilirler. Makine kodunda talimatlar içerdiklerinden insanlar tarafından kolayca okunamazlar. Ancak bazen nesne programları, kaynak ve yürütülebilir dosyalar arasındaki bir ara nesneye atıfta bulunur.
Bağlayıcılar olarak bilinen araçlar, bir dizi nesneyi yürütülebilir bir dosyaya (örneğin C dili) bağlamaya yardımcı olur. Yukarıda belirtildiği gibi.exe dosyaları ve bayt kodu dosyaları, sırasıyla Visual Basic ve Java kullanılırken üretilen nesne dosyalarıdır..exe dosyaları doğrudan Windows platformunda yürütülürken, bayt kodu dosyalarının yürütülmesi için bir yorumlayıcı gerekir.
Yazılım uygulamalarının çoğu yalnızca nesne veya yürütülebilir dosyalarla birlikte dağıtılır. Nesneyi veya yürütülebilir dosyaları ayrıştırma yoluyla orijinal kaynak dosyalarına dönüştürmek mümkündür. Örneğin, kod çözücü araçları java.class dosyalarını(bytecode) kendi orijinal.java dosyalarına dönüştürebilir.
Kaynak Program ve Nesne Program Arasındaki Fark Nedir?
Kaynak programı, bir programcı tarafından yazılmış, insan tarafından okunabilen bir programdır. Java veya C gibi daha yüksek seviyeli dillerde yazılmıştır. Bu nedenle, bir kaynak program insan tarafından okunabilir. Makine tarafından anlaşılmıyor.
Öte yandan, Nesne programı, bir kaynak program derlendikten sonra oluşturulan, makine tarafından yürütülebilir bir programdır. Montaj veya makine kodu gibi daha düşük seviyeli diller içerir. Bu nedenle, nesne programı insan tarafından okunamaz. Makine tarafından anlaşılabilir.
Özet – Kaynak Program vs Nesne Programı
Kaynak Program ile Nesne Programı arasındaki fark, Kaynak programın bir programcı tarafından yazılmış, insan tarafından okunabilen bir program olması, nesne programının ise bir kaynak programın derlenmesiyle oluşturulmuş, makine tarafından yürütülebilir bir program olmasıdır.