Önsöz - Andrei Alexandrescu
Ali'yi tanıyanlarımız açık, sabırlı, ve fazla mütevaziliğe kaçmayan nazik kişiliğinin yazdığı D kitabına da yansıdığını farkedeceklerdir.
Kitaptaki her cümle belirli bir amaca hizmet ediyor ve her birisi ileriye doğru bir adıma dönüşüyor; ne fazla hızlı ne fazla yavaş. "opApply
'ın tanımında da foreach
'ten yararlanıldığına dikkat edin. main
içinde poligon
nesnesi üzerinde işleyen foreach
, poligonun noktalar
üyesi üzerinde işletilen bir foreach
'ten yararlanmış olur." Kitap bu havada ve tam da gereken miktarda sözcük sarfederek devam ediyor. Hem de doğru sırada: Ali, – programcılığa yeni başlayanlara üstesinden gelemeyecekleri kadar "hep birden" geliveren – dil kavramlarını takdire değer bir biçimde ardışık olarak sunmayı başarıyor.
"D Programlama Dili"nin çok beğendiğim bir tarafı daha var: bu kitap, genel anlamda programlama öğrenme açısından da iyi bir kitap. Haskell'i tanıtan bir kitap aynı zamanda fonksiyonel programlamayı da öğretecektir; C üzerine olan bir kitap sistem programlama kavramlarını da verecektir; bir Python kitabı betik programlama yöntemlerini de gösterecektir, vs. Peki, D'yi tanıtan bir kitabın satır aralarında neler bulmayı bekleyebiliriz? En iyisi, programcılığın kendisini...
D, "işe uygun olan alet kullanma" fikrini güder ve kullanıcılarına çok sayıda programlama yöntemi sunar. Bunu yaparken programcının önüne fazla gariplik de sermez. D ile kod yazmanın en zevkli yolu kodlamaya açık fikirle yaklaşmaktır çünkü şekil almaya başlayan her tasarım aslında onu başka bir kalıba sokmaya elveren farklı bir gerçekleştirme, yaklaşım, veya paradigma için taze bir fırsattır. En uygun olanlarını seçebilmesi için programcının olanakların tümünü biliyor olması gerekir – "D Programlama Dili" programcıyı bu bilgilerle donatmanın çok iyi yollarından birisi. Bu bilgileri özümsemiş olmak yalnızca iyi D kodu yazmaya değil, genelde iyi kod yazmaya da yardım eder.
Kitap, öğretilen programlama ve dil kavramlarını destekleyen yöntemler de gösteriyor. Her programcıya mutlaka öğretilen kod tekrarından kaçınılması, iyi isimler seçilmesi, kodun alt parçalara ayrılması, ve başka bir çok öğüt normal kodlamada da olduğu gibi basit çözümden sağlam çözüme doğru adım adım geçiriliyor. "D Programlama Dili" okuyucularını sonuca hızlıca gitme yanılgısına değil, çok daha kalıcı yararları olan doğru kodlamaya yöneltmeye odaklanıyor.
D'nin öğretilen ilk programlama dili olabileceğini uzun zamandır tahmin etmekteydim. D, kullanıcılarına çok çeşitli programlama kavramını – sistem, fonksiyonel, nesne yönelimli, türden bağımsız, kod üretmeli – içtenlikle ve yapmacıklığa kaçmadan sunar. Bu fırsatı mükemmelce değerlendirdiğini gördüğüm Ali'nin kitabı da öyle.
Andrei Alexandrescu
San Francisco, Mayıs 2015