Pazartesi, Haziran 15, 2009

A,B,C, derken artık D'miz de var

D Programlama Dili

Evet başlıkta gördüğünüz gibi programlama dili furyasına yeni bir üye daha katıldı onun adı D. Aslında yeni dediğime bakmayın ilk kararlı sürümü 2 Ocak 2007 çıkmış. Fakat yinede programlama dili dünyasında henüz genç ve toy bir delikanlı sayılır =). D ismi tamamen bir geyik sonucu çıkmış.Dilin ilk ismi Mars Programming Language imiş.
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:

Ufuk Şanlı dedi ki...

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.

Zafer Çelenk dedi ki...

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.

Esat ARSLAN dedi ki...

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.