Yazarın Önsözü
D, en alt düzeylerden en üst düzeylere kadar bütün güçlü programlama kavramlarını destekleyen ve özellikle bellek güvenliğini, program doğruluğunu, ve kolay kullanımı ön plana çıkartan çok paradigmalı bir programlama dilidir.
Bu kitabın temel amacı yeni başlamış olan okuyuculara programcılığı D dilini kullanarak öğretmektir. Her ne kadar başka dillerde kazanılmış olan deneyimler yararlı olsa da, bu kitap programcılığa en temel kavramlardan başlar.
Bu kitabı izleyebilmek için D programlarınızı yazacak, derleyecek, ve çalıştıracak bir ortama ihtiyacınız olacak. Bu geliştirme ortamında en azından bir derleyici ve bir metin düzenleyici bulunması şarttır. Derleyici kurulumunu ve programların nasıl derlendiklerini bir sonraki bölümde göreceğiz.
Her bölüm olabildiğince az sayıda kavramı hep daha önceki bölümlerde öğrenilen bilgiler üzerine kurulu olarak anlatmaya çalışıyor. Bu yüzden kitabı başından sonuna doğru hiç bölüm atlamadan okumanızı öneririm. Bu kitap her ne kadar yeni başlayanlar için yazılmış olsa da D dilinin hemen hemen tamamını içerir. Deneyimli okuyucular dizin bölümünden yararlanarak kitabı bir D referansı olarak da kullanabilirler.
Bazı bölümlerin sonunda o zamana kadar öğrendiğiniz bilgileri kullanarak programlayabileceğiniz küçük problemler ve kendi çözümlerinizle karşılaştırabilmeniz için çözümler de bulunuyor.
Kitabın sonunda (ve HTML sürümünün her sayfasında) kitapta kullanılan Türkçe terimlerin İngilizcelerini içeren bir sözlük bulunuyor.
Programcılık yeni araçlar, yöntemler, ve kavramlar öğrenmeyi gerektiren çok doyurucu bir uğraştır. D programcılığından en az benim kadar hoşlanacağınızı umuyorum. Programlama dilleri başkalarıyla paylaşıldığında hem daha kolay öğrenilir hem de çok daha zevklidir. Çeşitli D forumlarını izlemenizi ve o forumlara katkıda bulunmanızı öneririm.
Bu kitap İngilizce'ye de çevrilmiştir.
Teşekkür
Bu kitabın gelişiminde büyük katkıları bulunan aşağıdaki kişilere teşekkür ederim.
Mert Ataol, Zafer Çelenk, Salih Dinçer, Can Alpay Çiftçi, Faruk Erdem Öncel, Muhammet Aydın (Mengü Kağan), Ergin Güney, Jordi Sayol, David Herberth, Andre Tampubolon, Gour-Gadadhara Dasa, Raphaël Jakse, Andrej Mitrović, Johannes Pfau, Jerome Sniatecki, Jason Adams, Ali H. Çalışkan, Paul Jurczak, Brian Rogoff, Михаил Страшун (Mihails Strasuns), Joseph Rushton Wakeling, Tove, Hugo Florentino, Satya Pothamsetti, Luís Marques, Christoph Wendler, Daniel Nielsen, Ketmar Dark, Pavel Lukin, Jonas Fiala, Norman Hardy, Rich Morin, Douglas Foster, Paul Robinson, Sean Garratt, Stéphane Goujet, Shammah Chancellor, Steven Schveighoffer, Robbin Carlson, Bubnenkov Dmitry Ivanovich, Bastiaan Veelo, Olivier Pisano, Dave Yost, Tomasz Miazek-Mioduszewski, Gerard Vreeswijk, Justin Whear, Gerald Jansen, Sylvain Gault, Shriramana Sharma, Jay Norwood, Henri Menke, Chen Lejia, Vladimir Panteleev, Martin Tschierschke, ag0aep6g, Andrew Edwards, Steve White, Mark Schwarzmann, Thibaut Charles, Richard Palme, Don Grant, Goksan Kadir, Aleksandr Treyger, Michael Siegel, Quirin Schroll, Don Allen, Krasimir Berov, Chibisi Chima-Okereke, Xavier Gachon, Paul Hines, ve İsmail Emre Arıkan.
Özellikle Luís Marques ve Steven Schveighoffer kitabın İngilizce çevirisinin her bölümü üzerinde ayrıntılı düzenlemeler yaptılar ve önerilerde bulundular. Bu kitap bir miktar da olsa yararlı olmayı başarabilmişse bunu Luís'in ve Steven'ın usta düzenlemelerine borçluyum.
Bu kitabın yazım sürecinde heyecanımı canlı tutan bütün D topluluğuna teşekkür ederim. D dili, bearophile ve Kenji Hara gibi yorulmak bilmeyen kişilerden oluşan harika bir topluluğa sahiptir.
Ebru, Damla, ve Derin, sabrınız ve desteğiniz için çok teşekkür ederim. İyi ki varsınız.
Ali Çehreli
Mountain View, Mayıs 2017
Kitabın bu sürümü çok sayıda düzeltme ve geliştirmenin yanında yeni bir bölüm de içeriyor: static foreach
.
Ali Çehreli
Mountain View, Şubat 2019
Kitabın bu sürümüne eklenen en önemli başlık, Kopyalayıcı işlev oldu.
Ali Çehreli
Mountain View, Ocak 2022