Derleyici
D programcılığında belki de en çok kullanılan iki araç metin düzenleyici ve derleyicidir. Metin düzenleyiciyi herkesin bildiğini varsayarak kısaca "yazı yazma programı" olarak hatırlatabiliriz. Programlar metin düzenleyicilerde yazılırlar.
D gibi dillerde derleme kavramı ve derleyicinin işlevi de hiç olmazsa kaba hatlarıyla mutlaka bilinmelidir.
Makine Kodu
Bilgisayarın beyni CPU denen mikro işlemcidir. Mikro işlemciye ne işler yapacağını bildirmeye kodlama, bu bildirimlere de kod denir.
Her mikro işlemci modelinin kendisine has kodları vardır. Her mikro işlemcinin nasıl kodlanacağına mimari tasarımı aşamasında ve donanım kısıtlamaları gözetilerek karar verilir. Bu kodlar çok alt düzeyde elektronik sinyaller olarak gerçekleştirilirler. Bu tasarımda kodlama kolaylığı geri planda kaldığı için, doğrudan mikro işlemciyi kodlayarak program yazmak çok güç bir iştir.
Mikro işlemcinin adının parçası olan işlem kavramı, özel sayılar olarak belirlenmiştir. Örneğin kodları 8 bit olan hayalî bir işlemcide 4 sayısı yükleme işlemini, 5 sayısı depolama işlemini, 6 sayısı da arttırma işlemini gösteriyor olabilir. Bu hayalî işlemcide soldaki 3 bitin işlem sayısı ve sağdaki 5 bitin de o işlemde kullanılacak değer olduğunu düşünürsek, bu mikro işlemcinin makine kodu şöyle olabilir:
İşlem Değer Anlamı 100 11110 YÜKLE 11110 101 10100 DEPOLA 10100 110 10100 ARTTIR 10100 000 00000 BEKLE
Makine kodunun donanıma bu kadar yakın olması, oyun kağıdı veya öğrenci kayıtları gibi üst düzey kavramların bilgisayarda temsil edilmelerini son derece güç hale getirir.
Programlama Dili
Mikro işlemcileri kullanmanın daha etkin yolları aranmış, ve çözüm olarak üst düzey kavramları ifade etmeye elverişli programlama dilleri geliştirilmiştir. Bu dillerin donanım kaygıları olmadığı için, özellikle kullanım kolaylığı ve ifade gücü gözetilerek tasarlanmışlardır. Programlama dilleri insanlara uygun dillerdir ve çok kabaca konuşma dillerine benzerler:
if (ortaya_kağıt_atılmış_mı()) {
oyun_kağıdını_göster();
}
Programlama dillerinin bir sorunu, anahtar sözcüklerinin geleneksel olarak İngilizce olmasıdır. Neyse ki bunlar kolayca öğrenebilecek kadar az sayıdadır. Örneğin if'in "eğer" anlamına geldiğini bir kere öğrenmek yeter.
Derlemeli Dil
Bu gibi dillerde yazılan programın çalıştırılır hale gelmeden önce derlenmesi gerekir. Bu yöntem çok hızlı çalışan programlar üretir; ama programı yazmanın yanında bir de derlemek gerektiği için, program geliştirme aşaması daha külfetlidir. D, derlemeli bir dildir.
Yorumlamalı Dil
Bazı programlama dilleri derleyici gerektirmezler. Bu gibi dillere yorumlamalı dil denir. Yorumlamalı dillerde yazılan programlar derlenmeleri gerekmeden hemen çalıştırılabilirler. Bu dillere örnek olarak Python, Ruby, ve Perl'ü gösterebiliriz. Derleme aşaması olmadığı için bu diller program geliştirmeyi çabuklaştırırlar. Bir sakıncaları, her çalıştırıldıklarında program metninin baştan taranmasının ve makine kodu karşılıklarının çalışma zamanında bulunmasının gerekmesidir. Bu yüzden, yorumlamalı dillerde yazılan programlar derlemeli dillerde yazılan eşdeğerlerinden genel olarak daha yavaş çalışırlar.
Derleyici
Derleyicinin görevi aracılıktır: insanların anladığı programlama dilini mikro işlemcinin anladığı kodlara çevirir. Bu işleme derleme denir. Her derleyici belirli bir programlama dilini bilir ve o dilin derleyicisi olarak anılır: "D derleyicisi" gibi.
Derleme Hatası
Derleyiciler programı dilin kurallarına uygun olarak derledikleri için, kural dışı kodlar gördüklerinde bir hata mesajı vererek sonlanırlar. Örneğin kapanmamış bir parantez, unutulmuş bir noktalı virgül, yanlış yazılmış bir anahtar sözcük, vs. derleme hatasına yol açar.
Derleyici bazen de kod açıkça kural dışı olmadığı halde, programcının yanlış yapmasından şüphelenebilir ve bu konuda uyarı mesajı verebilir. Program derlenmiş bile olsa, her zaman için uyarıları da hata gibi kabul edip, uyarıya neden olan kodu değiştirmek iyi olur.
D.ershane
Forum
Wiki
Projeler
Tanıtım
İletişim
Hakları