Maceraya hazır mısın! bir BSD almaz mısın?

Duyuru
* Forum tasarımımız yenilendi.
* FreeBSD 10.4 - RELEASE Final çıktı.
* FreeBSD 11.1 - RELEASE Final çıktı.
Son Mesajlar
Çevrimiçi (0)

Makine Dilleri,Assemly Dilleri ve Yüksek Seviyeli Diller

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.
  1. Makine Dilleri
  2. Assemly Dilleri
  3. 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 aklanmış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

Yorumlar

  • Bu konu üzerine eğitim aldım ama yine de çok fazla bildiğim söylenemez.
    Şunu söyleyebilirim Makine dili makinanın temel dili olduğu için meydana gelebilecek olan hatalar daha az olabilirmiş. Yani tamamıyla makina diliyle yazılan bir yazılım en sağlamı. Diller makine dilinden uzaklaştıkça hata seviyesi artar fakat kullanım ve kolaylığı da doğru orantılı artar. İnsanların yani yazılımcıların tercihinin ileri dil seviyesini seçmelerinin nedeni daha kolay bir şekilde yazılımı yazabilmek.Bu diller arasında Assembly en orta şekeri olarak görülüyor. Çünkü hem kullanıcı kolaylığıyla ileri seviyelere yakın hem de makine diline yakınlığı.Ayrıca makine diline yaklaştıkça işlem yapma hızları da artmakta yani en hızlı dil makine dili. Eğitimcimiz şöyle diyordu "Eğer bir bilgisayarda donanımlara tamamen hakim olmak istiyorsanız makine dilini bilmeniz gerekli." Bu demek olmuyor ki ben C dili biliyorsam hakim olamaz mıyım? :D Olunur ancak temel olan en sağlam şeydir. :) Çünkü diller makine diline çevrilirken hatalar/açıklar meydana gelmekteymiş.
    Bilgilendirmeler için de teşekkürler...
  • @Lock ve @DEVTURK her ikinize de teşekkür ederim verdiğiniz bilgilerden dolayı. Foruma bir canlılık geldi doğrusu. Devamını dilerim. Saygılar.:)
  • @DEVTURK dediğiniz gibi en iyisi assembly.Ama yüksek seviyeli dillerde de kolaylık oluyor ::D) Makine dili biraz zorlar sanki :D
    Rica ederim @doctur.Forum haraketlensinde  :D
  • @ doctur ben teşekkür ederim
    Bu arada forumda programlama dilleri ile iligili bir bölüm açsak komut listeleri, programlama örnekleri vs. paylaşımları yapsak sanırım bu konu üzerine merakı olanları veya kendisine ekstra bir şeyler katmak isteyenler için güzel bir bilgi birikimi olur diye düşünüyorum.  ;)
  • Bölüm açmak problem değil, ilgili bölümü veya bölümleri kolayca açarız, hele biraz daha içerik olsun açarız.
    Bu aralar yoğunum iki makineye kurulum yapıyorum, diğer yandan malum ramazan ayı gelen giden, davetler derken boş vakit sıkıntı oluyor.
    @doctur yazan:
    @Lock ve @DEVTURK her ikinize de teşekkür ederim verdiğiniz bilgilerden dolayı. Foruma bir canlılık geldi doğrusu. Devamını dilerim. Saygılar.:)

    +1 aynen. ::D)

    Maceraya hazır mısın?  Bir BSD almaz mısın!
  • Boş vaktim olduğu sürece bu tür katkılar yapabilirim.Foruma canlılık gelmesi sevindirici.Buralar dahada canlanır inşallah :D
  • @Felasife yazan:
    Bölüm açmak problem değil, ilgili bölümü veya bölümleri kolayca açarız, hele biraz daha içerik olsun açarız. Bu aralar yoğunum iki makineye kurulum yapıyorum, diğer yandan malum ramazan ayı gelen giden, davetler derken boş vakit sıkıntı oluyor. +1 aynen. ::D)

    Al benden de o kadar üstad bu aralar ben de ilgilenemiyorum. Foruma canlılık getirmek için bizim de biraz canlanmamız gerekir diye düşünüyorum :D Ramazan bir hayli bitkin düşürdü beni :) Allah kimseyi açlıkla sınamasın doğrusu hakikaten çok zor birşey :(
    Teşekküre gelince ben teşekkür ederim...
Yorum yapmak için Oturum Açın yada Kayıt Olun .