Program bir bilgisayar sistemine yapması gereken işleri tam olarak tanımlamaya yarayan tanımlar kümesidir. Bu programların yazım kurallarına da programlama dili denir. Doğal dillerde olduğu olduğu gibi programlama dillerinin de kuralları vardır. Doğal dillerin aksine bu kurallardan en küçük bir sapma yapıldığında bile program çalışmaz.
Programlama Dili Sınıflandırmaları
Programlama dillerini doğal dillere olan yakınlıklarına göre 4 değişik seviyede toplayabiliriz;
- Makine dilleri
- Assembly dilleri
- Üst düzey diller
- Uygulama üreteçleri
1. Makine Dilleri
Makine dilleri ikili sayılardan oluşur.Tüm komutlar, adresler ve veriler ikili sistemde temsil edilir. Makine diline çevrilmiş bir komut iki parçadan oluşur;
- Operatör: Herhangi bir komuta karşılık gelen işlemin bir kodudur.
- Operand: Üzerinde işlem yapılan yani işlenen veriyi ya da verinin adresini tutan koddur. Bazı komutlarda operand bulunmayabilir.
2.Assambly Dilleri
Assambly dilleri, makine dillerine oranla daha üst düzeyde dillerdir. Bu diller anımsatıcı simgelerden (mnemonic symbols) oluşur. Bunlar daha kolay ezberlenebildikleri için bu şekilde adlandırılmışlardır.
Assembly dillerinde simgesel adresler kullanılabilir.Bu adreslere sayısal değerleri atama işlemi, programlar derlenirken olur.Assembly dillerindeki derleyecilere assembler denir. Kaynak kodunda yazılmış programların nesne koduna dönüştürülmesi için kullanılır.
3. Üst Düzey Diller
Üst düzey diller, doğal dillere ve matematik işlemlere makine dili ve Assembly'e göre daha yakındır. En önemli tarafı ise üst düzey dillerin makinelerden bağımsız olarak çalışmalarıdır.Üst düzey dilleri öğrenmek, kodlamak ve bu dillerde hataları bulmak, makine diline ve Assembly'e göre daha kolaydır. Bu dilleri kullanan programcı Makine dilinin detaylarında boğulmak yerine çözülmesi gerekli problem ile ilgilenir.
4. Uygulama Üreteçleri
Uygulama üreteçlerine 4. Nesil Diller (4GL: Fourth Generation Languages), çok üst düzey diller de denebilir. Temel olarak bunlar programlama dillerinin katı kurallarını ortadan kaldırarak bilgisayarlara ne yapmaları gerektiğini girdi ve çıktıları belirterek anlatırlar.