İnsanlar tarafından makine dillerine oranla daha anlaşılır olan (human-readable) bu diller assembly – çevirmen diller olarak bilinirler. Direkt işlemciye/makineye özel kodların yerini komutlar ve kısaltmalar kullanılmaktadır. Fakat halen makineye özel programlama yapılması gerekmektedir. Ayrıca bu dillerle geliştirilen programların makinelerde çalışabilmesi için makine diline çevrilmeleri gerekiyordu. Bu noktada assembler yani çevirmenler devereye giriyordu. Günümüzde halen özel donanımların progranlanmasında, işletim sistemleri çekirdeklerinde assembly dilleri kullanılmaktadır.

İkinci Nesil Programlama Dilleri – Çevirici Diller

Programlama dillerinden bahsetmeden önce genel olarak gelişimlerinden bahsetmek istiyorum. Literatüre göre programlama dillerini gelişim evrelerine göre 5 nesilde(generation) inceleyebiliriz. Bilgi teknolojilerinin ilk çağlarında bilgisayara (machine) yakın olan diller, her yeni nesille birlikte günlük yaşama ve insana (human) yakınlaşmış durumdalar. Araştırmalarıma dayanarak söyleyebileceğim 1837 yılında duyurulan “Analytical Engine Code Order” programlama diliyle başlayan macerayı öncelikle nesil ayrımında incelemek istiyorum.Birinci Nesil Programlama Dilleri – Makine Dilleri Birinci nesil programlama dilleri ilk bilgisayarlarla birlikte ortaya çıkan programlama ihtiyacını karşılakamk üzere geliştirilen ve tamamen geliştirildiği makinenin (machine) özelliklerine odaklı (machine-level) makine seviyesi dillerdi. Komutlar direkt olarak bilgisayar üzerindeki bir panel aracılığıyla herhangi bir derleyici ya da çevrime ihtiyaç duyulmadan giriliyordu. Birinci nesil programlama dillerinin işlemciye doğrudan verilen komutlarla çalışıyor olmaları hız ve yetenek açısından çok güçlü olmalarını sağlıyordu. Ancak öğrenilmeleri ve uygulanmaları zor, hata durumlarını yönetmek sıkıntılıydı. Diğer taraftan belirli bir işlemci/makine için yazılan kod, farklı yapıdaki başka bir makinede çalışmıyor, tamamen yeniden yazılması gerekiyordu. Günümüzde halen çok eski makineler için kullanım alanı bulan makine dili aynı zamanda modern programlama dillerinin nihai halidir. Herhangi bir modern dille geliştirdiğiniz programı derlediğinizde (compile) ortaya çıkan şey birinci nesil bir makine dilinden başka bir şey değildir.