1- Giriş:

Bu yazıda D programlama dilini kullanarak ilk programımızı yazacağız. Programlamaya yeni başladıysanız D ile başlamayın. C# veya Java gibi bir dili tercih edin. Eğer programlamaya yeni başlamadıysanız herhalde bu programda ekrana ne yazdıracağımızı tahmin etmişsinizdir. Evet! “Merhaba Dünya!” yazdıracağız.

2- Alet çantamız:

Linux için D derleyicisi: http://ftp.digitalmars.com/dmd.zip

Windows için D derleyicisi ve bağlayıcısı: http://ftp.digitalmars.com/dmd.zip http://ftp.digitalmars.com/dmc.zip

Piyasada şu an bedava olarak dağıtılan ve düzgün olarak çalışan bir D IDEsi ne yazık ki yok. Bu yüzden sadece bir yazı düzenleyicisi kullanacağız. Tabii ki tercihen yazı düzenleyicimizin D için özel kod renklendirme özelliğinin olması gerekiyor. Linux altında çalışıyorsanız (ki ben Linux dediğimde Pardus’u kastediyorum çünkü bende o yüklü) KWrite veya KEdit kullanmanız yeterli. D, C kodlamasına benzer olduğundan sorunsuz bir şekilde kod renklendirmesi gerçekleştirilebiliyor. Windows altında çalışıyorsanız o zaman Notepad++’yı kullanmanızı tavsiye ederim.

3- Alet çantamızı açalım:

Linux Kurulumu: Linux dağıtımını bilgisayarımıza indirdikten sonra sırayısla aşağıdaki adımları takip edelim:

  1. Ev klasörüne .zip dosyasını açalım. Bu işlem Ev klasörünün içinde dmd adlı bir klasör oluşturacaktır.
  2. dmd/bin klasörünün içindeki dmd.conf dosyasını (ayar dosyası) /etc klasörüne koplayalım. Bunu yapmak için uç birime cp dmd/bin/dmd.conf /etc yazmak yeterli (dmd.conf ile /etc arasında boşluk var)
  3. Gerekli dosyalara gerekli izinleri vermek için yine uç birime chmod u+x dmd/bin/{dmd,dumpobj,obj2asm,rdmd} yazalım.
  4. dmd/bin klasörünü PATH’e ekleyelim. Bunu yapmak için aşağıdaki satırları teker teker konsoldan girelim:
    PATH=$PATH:/dmd/bin
    export PATH
  5. libphobos.a kütüphanesini /usr/lib klasörüne taşıyalım. Bunu yapmak için uç birime cp dmd/lib/libphobos.a /usr/lib yazalım.
  6. Evet artık hazırız. Eğer yukarıdaki adımlarda herhangi bir hata yapılmadıysa düzgün bir şekilde derleyicimiz çalışacaktır. Eğer bir sorun ile karşılaşırsanız lütfen bunu benimle bu yazının yorumlar kısmından paylaşın. Aynı sorunu başkaları da yaşayabilir, herkes faydalansın.

Windows Kurulumu: Windows dağıtımını (2 zip dosyası) bilgisayara indirdikten sonra aşağıdaki adımları takip edelim:

  1. dmd.zip dosyasını C: veya D: gibi ana bir birime açalım.
  2. dmc.zip dosyasını C: veya D: gibi ana bir birime açalım.
  3. /bin klasörünün adresini ortam değişkenlerine Başlat->Ayarlar->Denetim Masası->Sistem->Gelişmiş->Ortam Değişkenleri->PATH’e ekleyelim.
  4. Evet hazırız.

4- Merhaba Dunya!

Yeni bir dosya oluşturalım. Adı deneme_1.d olsun. İçine aşağıdakileri yazalım:

 // Kütüphane dosyaları
 import std.stdio;
 // Ana fonksiyon
 void main(char[][] argumanlar)
 {
     writef("Merhaba Dunya!");
 }
 

Komut satırını açalım ve

dmd deneme_1.d

yazarak deneme_1.d dosyasını derletelim. Eğer herhangi bir hata ile karşılaşmazsak

deneme_1

yazarak derlemiş olduğumuz programımızı çalıştıralım ve “Merhaba Dunya!” iletimizi görelim.

Kodu satır satır inceleyecek olursak:

import std.stdio; kodunun bulunduğu satır stdio kütüphanesini eklemeye yarar. D programlama dilinde bir kütüphane eklemek istiyorsak C veya C++’ın #include komutu veya C#’ın using komutu yerine Java’da da bulunan import komutunu yazıyorurz ve ardından da kullanmak istediğimiz kütüphaneyi belirtiyoruz.

void main(char[][] argumanlar) kodunun bulunduğu satır programımızın giriş fonksiyonunu yani main fonksiyonunu belirtir. Ardından gelen { } parantezlerinin içine main fonksiyonumuzun içeriğini yazabiliriz. C, C++ ve Java ile program yazmış olanlar için gayet tanıdık gelecektir. C# kullanan programcılar ise biraz yabancılık çekebilir. Fonksiyonun tanımının içindeki char[][] argumanlar parametresi program komut satırından çalıştırılırken uygulanan parametleri almak için kullanılır.

writef(”Merhaba Dunya!”); kodu ile ise ekrana Merhaba Dunya! iletisini yazıyoruz. Klasik \n \r \b komutları burada da geçerli. Denemek için aşağıdaki kodu deneyelim:

  1. // Kütüphane dosyaları
  2. import std.stdio;
  3. // Ana fonksiyon
  4. void main(char[][] argumanlar)
  5. {
  6. writef(“Merhaba Dunya!\nHmmm…”);
  7. }

Kodu derleyip çalıştırdığınızda aşağıdakine benzer bir sonuç ile karşılaşacaksınız:

deneme_1_konsol2.JPG

writef fonksiyonu C deki printf‘e karşılık geliyor gibi düşünülebilir. Veya Java’daki System.out.print . Veya C++ daki cout‘a. Tabii ki bir satırlık bir yazı yazmak için yazının sonuna \n koymak zorunda değiliz. writefln fonksiyonunu kullanabiliriz.

  1. // Kütüphane dosyaları
  2. import std.stdio;
  3. // Ana fonksiyon
  4. void main(char[][] argumanlar)
  5. {
  6. writefln(“Merhaba Dunya!”);
  7. writefln(“Hmmm…”);
  8. writefln(“Ne guzel bir gun\b\b\bdil!”);
  9. }

Aşağıdakine benzer bir sonuç elde etmemiz gerekiyor.

deneme_1_konsol3.JPG

writefln fonksiyonu verilen yazıyı bir satıra yazar ve alt satıra geçer.

5- Son

Gördüğünüz gibi D programlama dili diğer dillere çok benziyor ve gayet basit. Programı yazarken herhangi bir şekilde takla atmadık. Ekrana yazı yazdırmak için 500MB lık bir dosyayı bilgisayarımıza yükleyip 30 dakika kurulum ile uğraşmadık.

Bir sonraki yazıda komut satırından parametre alma ve kullanıcıdan girdi alma konularına değineceğiz. if-else ve döngülere de doğal olarak bir sonraki yazıda değineceğim.

Detaylı olarak anlatmamı istediğiniz bir yer varsa lütfen bunu yorumlar kısmından benimle paylaşın. Elimden geleni yapmaya çalışırım.