Makine Dilleri,Assemly Dilleri ve Yüksek Seviyeli Diller

Başlatan Lock, 18 Temmuz 2013 - 18:23:30

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Lock

Programcılar değişik programlama dillerini kullanarak komutlar yazarlar.Bunlardan bazıları bilgisayar tarafından doğrudan anlaşılabilirken, bazıları ise çevirme (translation) işlemlerine tabi tutulmak zorundadır.Günümüzde yüzlerce bilgisayar dili vardır.Bunlar üç genel tipe ayrılabilirler.

Makine Dilleri
Assemly Dilleri
Yüksek Seviyeli Diller

Herhangi bir bilgisayar, doğrudan yanlızca kendi dilini anlayabilir.Makine dili bilgisayarın doğal dilidir ve o bilgisayarın donanımsal tasarımına bağlıdır.Makine dilleri, belirli sayıların özel dizilimler ile bilgisayarın temek işlevlerini yaptırmalarını sağlarlar (Bu sayılar genellikle 1 ve 0 lara indirgenirler.)Makine dilleri her makinede farklılık gösterebilir.Bu yüzdende, makine bağımlı (machine dependent) olarak adlandırılırlar.Makine dilleri inasanlar için oldukça zordur.Aşağıda makine diliyle yazılmış bir program görebilirsiniz.Bu program parçacığında iki sayı toplanıp, sonuç hafızada saklanmıştır.
             
                                                +130042774
                                                +1400593419
                                                +1200274027

Bilgisayarlar popüler hale geldikçe, makine dilleri programlamanın oldukça yavaş,zahmetli ve hata yapma oranının yüksek olduğu görüldü.Bilgisayarların doğrudan anlayabileceği belli sayı dizilişleri kullanmak yerine,programcılar İngilizce'ye yakın kısaltmalar kullanmaya başladılar.Bu kısaltmalar assembly dillerinin temelini oluşturur.Assembler olarak adlandırılan çevirici programlar, assembly dilinde yazılmış programları makine diline çevirmek için geliştirilmiştir.Şimdi, yukarıda makine diliyle yazdığımız programın assembly diliyle yazılmış halini göreceksiniz.

                                                LOAD SAYI1
                                                ADD SAYI2
                                                STORE TOPLAM

Bu kod insanlara oldukça yakın gelsede makine diline çevrilmediği sürece bilgisayarlara bir şey ifade etmez.

Bilgisayar kullanımı assemly dillerinin ortaya çıkmasıyla hızlıca artmıştı fakat hâlâ bazı basit görevleri yapmak için birçok kod yazılmak zorunda kalınıyordu.Programlama sürecini hızlandırabilmek amacıyla yüksek seviyeli diller gelşitirildi.Bu dillerde , tek bir ifadeyle birden çok görevi yerine getirmek mümkün oluyordu.Derleyici(compiler) olarak adlandırılan çevirici programlar, yüksek seviyeli dilleri makine dillerine çevirirler.Yüksek seviyeli diller, programcılara günlük ingilizce'ye oldukça yakın kodlar yazma imkanı sunar.Ayrıca, genellikle kullanılan matematik ifadeleri de yüksek seviyeli dillerde kullanılabilir.Şimdi de yukarıda yazılmış program parçacığını, yüksek seviyeli dillerle yazalım.

                                               toplam = sayi1 + sayi2

Açıkça görüleceği üzere yüksek seviyeli diller makine dilleri yada assembly dillerine göre daha çok tercih edilirler.C ve C++, yüksek seviyeli diller arasında en güçlü ve en çok kullanılanlarıdır.Yüksek seviyeli dillerle yazılmış bir programın makine diline çevrilme süreci, bilgisayarda bir müddet süre alabilir.Bu problemi yüksek seviyeli dillerle yazılmış programları, makine diline derleme ihtiyacı duymadan çlıştırabilen yorumlayıcı(interpreter) programlar sayesinde çözülmüştür.Derlenmiş programlar, yorumlanmış programlara göre daha hızlı çalışmalarına rağmen, program geliştirme ortamında programlara yeni özellikler eklenirken be hatalar düzeltilirken yorumlayıcılar daha yaygın bir şekilde kullanılmaktadır.Bir program geliştirildikten sonra bu programın derlenmiş versiyonu daha verimli çalışabilir.

Kaynak : Deitel & Deitel

0xdeadbeef

Amac balik vermek degil, balik tutmasini ogretmek...

Lock


w01ky