11 Kasım 2016 Cuma

huseyin iris

Programlama Dillerinin Seviyeleri



Aslında bilgisayarın anlayabildiği bir programlama dili vardır ve o dil ise "binary machine code" yani makine dilidir.Bu dil program yazmak için kullanılabilecek en düşük seviyeli dildir.Diğer tüm diller makine diline ne kadar yakın olduğunu belirtmek için "high-level" yüksek seviyeli yada "low-level" düşük seviyeli diller olarak isimlendiriliyor.

Bu bağlamda düşük seviyeli dil makine diline çok yakın bir dildir ve düşük seviyeli diller derleyici veya yorumlayıcıya ihtiyaç duymadan direk olarak çalıştırılabilirler ama yüksek seviyeli diller makine diline anlık olarak dönüşüm yaparak çalışır

Düşük seviyeli diller, herhangi bir bilgisayarın "beyin" olan merkezi işlem biriminin (CPU) mimarisindeki herhangi bir özelliğinden faydalanabilmek için yazılabilecek avantaja sahiptir.
Dolayısıyla, düşük seviyeli bir dilde yazılmış bir program son derece verimli olabilir, hem bilgisayarın belleğini hem de işlem süresini en iyi şekilde kullanabilir. Bununla birlikte, düşük seviyeli bir program yazmak, işlemcinin iç işleyişlerinin net bir şekilde anlaşılmasının yanı sıra önemli miktarda zaman alır.Bu nedenle, düşük düzeyli programlama, genellikle yalnızca çok küçük programlar veya son derece kritik olan ve mümkün olduğunca verimli çalışması gereken kod bölümleri için kullanılır.

Üst düzey diller, büyük programların daha hızlı gelişmesine izin verir. Bilgisayarda yürütülen son program o kadar verimli değildir, ancak programcı zamanındaki tasarruf genellikle bitmiş ürünün verimsizliklerinden çok daha fazladır. Bunun nedeni, bir program yazma maliyetinin, dile bakılmaksızın her bir kod satırı için neredeyse sabit olmasıdır. Bu nedenle, her bir kod satırının 10 makine talimatına çevirdiği üst düzey bir dil, her bir kod satırının yalnızca tek bir makine talimatını temsil ettiği düşük düzeyli bir dil olarak program geliştirmede onda birine mal olur.

Üst düzey ve alt düzey diller arasındaki ayrıma ek olarak, derleyici dilleri ile yrumlayıcı dilleri arasında bir diğer ayrım vardır. Şimdi çeşitli düzeylere bir göz atalım.

Absolute Machine Code

Bir bilgisayarı programlayabildiğiniz mümkün olabilecek en düşük seviyeli dil, kendi makine kodunda, 1 ve 0 dizgelerinden oluşur ve ikili sayı olarak saklanır. Makine kodunu doğrudan kullandığı için, hata yapmak çok kolaydır ve hatayı fark ettikten sonra onu bulmak ise çok zordur.

Assembly Language

Assembly dili, makine kodunun sembolik karşılığından başka bir şey değildir, bu da bellek konumlarının sembolik olarak tanımlanmasına izin verir. Dolayısıyla, bir bellek bölgesinin içeriğini, akümülatör adı verilen dahili bir işlemci kaydına eklemek için verilen bir talimat, bir dizi ikili basamak (bit) yerine bir sayı ekleyebilir.

Assembly dili makine diline kadar yakın olursa olsun, bilgisayar yine de onu anlayamaz. Kodlar bir program tarafından makine koduna çevrilmelidir.
Assembler dili, çeşitli makine operasyonlarının sembolik isimleri oluşturan karakter dizelerini tanır ve her bir talimat için gereken makine kodunu değiştirir.
Aynı zamanda, bir bellek konumunun simgesel adı için gerekli adresi bellekte hesaplar ve isimler için bu adresleri değiştirir.Sonuç olarak, makine dili tek başına çalışabilen bir programdır;
Assembly kodları bu program için artık gerekli değildir. Programın "önceki" ve "sonraki" sürümlerini ayırt etmek için orijinal assembly dili programı da kaynak kodu olarak bilinirken, son makine dili programı nesne kodu olarak belirtilir.

Assembly dilinde programın değiştirilmesi veya düzeltilmesi gerekiyorsa, kaynak kodundaki değişiklikleri yapmak gereklidir ve daha sonra yeniden yürütülmesi gerekir.

Compiler(Derleyici) Languege

Derleyici dilleri, assembly dilinin üst düzey karşılığıdır. Derleyici dilindeki her komut bir çok makine konduna karşılık gelebilir. Program yazıldığında, derleyici adı verilen bir program tarafından eşdeğer makine koduna çevirilir. Program derlendiğinde, elde edilen makine kodu ayrı ayrı kaydedilir ve istenildiği zaman tek başına çalıştırılabilir.

Assembly'deki gibi, derlenmiş bir programı güncelleştirmek veya düzeltmek için orijinal (kaynak) kodun uygun şekilde değiştirilmesini ve sonra yeni bir makine kodu (nesne) oluşturmak üzere yeniden derlenmesini gerektirir.

Genellikle, derlenmiş makine kodu, assembly diline göre daha az verimlidir. Bu, biraz daha yavaş çalıştığı ve eşdeğer olarak hazırlanmış programdan biraz daha fazla bellek kullandığı anlamına gelir. Bununla birlikte, bu dezavantajı gidermek için, programı geliştiştirmek için daha az kod yazılır buda zamandan büyük bir avantajdır.

Interpreter(Yorumlayıcı) Language

Bir çevirici(interpreter) dili, bir derleyici dili gibi yüksek seviyeli kabul edilir. Ama derleyici dilden tamamen farklı şekilde çalışırlar. Interpreter diller makine koduna ön çeviri yapmadan kodudoğrudan yürütür.

Kullanıcının bir intepreter dil kullanması, hem avantaj hem de dezavantajlara sahiptir. Birincil avantajı, işlemini test etmek, birkaç değişiklik yapmak ve doğrudan çalıştırmak için programı çalıştırabilmenizdir. Makine koduna çevrilmediğinden yeniden derleme yapmaya gerek yoktur. Bu, geliştirme ve test sürecini muazzam bir şekilde hızlandırabilir.

Aşağı tarafta bu düzenleme hem tercümanın hem de kullanıcının programının aynı anda hafızada bulunmasını gerektirir. Buna ek olarak, yorumlayıcı diller kodu satır satır işlettiği için derleyici dillere göre biraz daha yavaş çalışır.

huseyin iris

About huseyin iris -

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.

Subscribe to this Blog via Email :