D Programlama Dili
D ilk olarak Walter Bright tarafından tasarlanmış. Fakat şimdilerde C++ tanınmış isimlerinden Andrei Alexandrescu tarafından geliştirilmekteymiş. Ayrıca yine Andrei Alexandrescu tarafından yazılan "The D Programming Language" adlı bir kitapda raflarda yerini almış durumda. Onun yazdığı D’dili ile ilgili bir yazının orjinaline burdan, Ali Çehreli tarafından Türkçeye çevrilmiş haline de buradan ulaşabilirsiniz.
Bu kadar tanıtımdan sonra ufaktan teknik özelliklerine değinelim;
- Kaynak kodlarda Unicode desteği sunar. Bu sayede değişkenlerde Türkçe karakter kullanabiliriz. Artık rahatça büyük İ,ü,ö,ğ,ş,ç kullanabilirz .
- Nesne yönelimli (Object-Oriented) olduğunu söylemeye gerek var mı bilmiyorum fakat biz yinede bahsi geçsin diye deyinelim. En azından Object-Oriented’ı cümle içinde kullanmış olduruz
- Andrei Alexandrescu D’dilinin en doğru tanımı, üst düzey sistem programlama dili olarak yapmış. Ama bunun yanında programcıya alt düzey olanaklarda sunuyomuş. (İşaretciler, malloc/free)
- Çöp toplayıcısı(Garbage collector) varmış. Bunun yanında kendi oluşturduğumuz nesneleri delete ile silmeye de izin veriyomuş.
- Standart C kütüphanelerinin hepsi D için kullanıma hazır durumdaymış.
- İlk GUI desteği Qt’den gelmiş. Buda taşınabilir görsel projelerde geliştirebiliriz demek. Darısı wxWidgets’e diyelim =).
- C++’da yapıcı fonksiyon, sınıf ismi, yıkıcı ise sınıf isminin başına tilda(~) konmuş haliydi. D ise yapıcı this, yıkıcı ise ~this olarak tanımlanmış. (Biz this’i c++ da sınıf işaretçisi olarak kullanıyoduk acaba burada durum biraz daha farklımı. hımmm Bunu ilerde öğreneceğiz inşallah)
- Resmi D derleyicisi DMD imiş. Windows,Mac,Linux platformlarına destek veriyomuş. Diğer platformlar içinde çalışmalar sürüyomuş.
- D kodu içinde makine dili de kullanabiliyomuşuz. Örnek kod kısmında bununla ilgili bir örnek bulabilirsiniz.
- foreach() döngüsü mevcut.
Sonuçlar olarak A,B,C derken artık D diye bir dilimizde var. Hayırlı olsun. Adamlar bize alfabeyi öğretmeye kararlı sanırım =). Ama bu alfabede türkçe karakterler yok. Ne diyelim darısı Ç’lerin Ğ’ lerin başına =).
Örnek Programcıklar
1.
Başlangıç için olmazsa olmaz. Tahmin edin ne? Tabiki "Merhaba Dünya" =)
------------------------------
import std.stdio;
void main()
{
writeln("merhaba dünya");
}
-----------------------------
2.
Kod içinde makine dili kullanımı. Sayi1 değişkenine 5 ekleyip gösteren bir program. 5 ekleme kısmı ASM ile yapılmış.
-----------------------------
import std.stdio;
void main()
{
uint sayi1 = 100;
writefln("sayi1 =",sayi1);
writefln("sayi1 degiskenine 5 ekleyelim");
asm
{
mov EAX,[sayi1];
add EAX,5;
mov [sayi1],EAX;
}
writefln("sayi1 =",sayi1);
}
-----------------------------
Kaynaklar ve Yardımcı Linkler
3 yorum:
Türkçe desteği olması çok hoşuma gitti açıkçası ve aynı zamanda dili yapısı biraz c++ ile c# arasında kalmış gibi garbage collector c# .net platformunda mevcut writeln tarzı bir yazımda hem eski pascal günlerini hemde c# console keranını hatırlattı. ilk defa duydum bizimle paylaştığın için teşekkürler.
Yeni bir dil, incelemekte fayda var. Arkasında Microsoft gibi bir firma olmadığı için C# kadar büyük bir gürültü çıkarabileceğini sanmıyorum, ancak D dilini geliştirenler yapmak istediklerini başarabilirlerse programlama dilleri dünyasında yeni bir alternatif daha olacaktır.
Evet unicode desteği olması çok güzel.Fakat yinede değişken tanımlamalarında alışkanlıktan dolayı Türkçe karakter kullanılacağını pek sanmıyorum.
Daha çok c++ ın bilenmezliğine ışık tutan bir dil. Bu yüzden daha çok c++ a alternatif olarak kullanılabilir.
Yorum Gönder