High Level ve Low Level Programlama Dilleri Nedir?

High Level (Yüksek Seviye) ve Low Level (Düşük Seviye) bilgisayar bilimleri terminolojisinde sıklıkla duyabileceğiniz terimlerdir. Bu iki teknik terim bir sistematik operasyonun makine diline olan yakınlığı olarak açıklanabilir.



Çoğunlukla programlama dilleri için kullanılan High Level ve Low Level bize programlama dilinin yapısının, 1 ve 0 lardan oluşan makine diline ne kadar benzer olduğunu belirtir. High Level, programlama dilinin donanımdan oldukça soyut olması yani günlük yaşamdaki dilimize daha yakın olduğunu belirtir. Bu sayede programcılar donanım bilgisine gereksinim duymadan sadece sorunun çözümüne odaklanmaktadırlar

High-Level ve Low-Level Farkları

Bilgisayarlar yazdığımız kod parçalarından, if, else, for gibi komutlardan hiçbir şey anlamazlar. Bu nedenle bizim bunlar gibi kodları ilk olarak makinemizin tek anladığı 1 ve 0’lara dönüştürmemiz gerekir. Bu işlem için compilerlar(derleyiciler) ve interpreterlar(yorumlayıcılar) kullanılmaktadır. Fakat Low Level diller makine diline çok daha yakın olduğundan bunlara gerek duymaz.

High Level Programalama DilleriLow Level Programlama Dilleri
Geliştirici dostudurlarMakine dostudurlar
Anlaması kolaydırAnlaması oldukça zordur
Hata ayıklaması kolaydırHata ayıklaması karmaşıktır
Öğrenmesi ve kodlaması kolaydırÖğrenmek baya zaman alır
Yazdığınız kodu farklı platformlarda çalıştırabilirsinizMakineye göre çalıştırma durumunuz değişir
Derleyici ve yorumlayıcı gerektirirDönüştürücü(assembler) gerektirir
Yavaş çalışırMakine diline daha yakın olduğundan daha hızlı çalışır
Bellekte fazla yer kaplarBellek dostudur az yer kaplar

High Level ve Low Level Programlama Dilleri

Programlama Dillerinin Soyutluk Seviyesi

Bu konuda listelemeyi yapmadan önce şunu belirtmek gerekir ki bir programlama dilinin high ya da low level olduğu dönemine göre değişiklik göstermektedir. Aynı normal hayatta kullandığımız dillerin canlı ve gelişmekte olması gibi programlama dilleri de sürekli gelişim halindedir. Örnek vermek gerekirse C programlama dili geçmişte high level sınıfında yer alırken günümüzde daha kullanıcı dostu, daha soyut dillerin ortaya çıkması sebebiyle bazıları için C artık low level kategorisine girmiştir. Fakat çoğunluk middle level yani orta seviye olarak sınıflandırmaktadır.

High Level Diller

Soyutlama özelliğine sahip High Level diller okunabilirliği ve kolay kullanımı sayesinde günümüzde oldukça popüler konumdadır. Bunlardan bazıları :

Low Level Diller

Bilgisayar sistemine daha yakın olan low level diller kullanım açısından zor olsa da hız ve bellekte kapladığı yer konusunda high level dillere kıyasla daha iş çıkarmaktalar. Low level dillerde yazarken talimatları çok net vermeniz gerekmektedir. Örneğin bir tam sayı değeri atarken onun bellekte nerede tutulacağını da belirtmeniz gerekir. Çok az miktarda soyutlama içeren diller şunlardır:

  • Assembly
  • Machine Language (Makine dili)

Hangisini Öğrenmeliyiz?

Bu soru programlamaya yeni başlayanlar tarafından sıklıkla sorulmakta. High level ya da low level diller birbirine üstünlük sağlar mı? Bu sorunun kesin doğru bir cevabı yoktur. İki türde de belirli üstünlükler yakalarsınız fakat birbirine kesin üstün gelen bir dil yoktur.

Her iki türün de farklı yararları vardır. Low level diller bilgisayarlar tarafında çok daha az yorum gerektirir bu sebeple bir Assembly kodu Python koduna göre çok daha hızlı çalışır. Ayrıca low level diller high level dillere kıyasla programcıya veri depolama, bellek ve bilgisayar donanımı üstünde çok daha fazla kontrol sağlar. Bu low level dilleri işletim sistemi çekirdeği ya da sürücü yazılımı yazmak için kullanabilirsiniz ama oyun geliştirme ya da web tasarımı amaçlarıyla kullanamazsınız.

Öte yandan high-level diller öğrenme ve kullanım açısından kolay olduğundan programcının çok daha verimli kod yazmasına olanak sağlar. Bu rahatlığından dolayı bu diller daha güvenli kabul edilir ve geliştiricilerin hata yapma oranı daha azdır.



Sonuç olarak iki tür de birbirine karşı belirli bir baskınlık gösteremez ama her birinin farklı alanlarda iyi yönleri bulunmakta. Bu nedenle hangi dil ile kodlama yapacağınıza sorununuz ya da probleminize göre karar verebilirsiniz.

Teknoloji'den geri kalmamak için e-posta listemize abone olun!

Özgür Doğan (Okunuşu: Özgür Do:an) : Teknoloji içerikleri yazmayı ve okumayı seven kişi, kimse, topluluk.