Forum: D Programlama Dili RSS
D' Dilinin Kullanıldığı Projeler
erhanbaris #1
Üye May 2010 tarihinden beri · 2 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: D' Dilinin Kullanıldığı Projeler
Merhabalar.
uzun süre önce göz ucuyla d dilini inceleme fırsatım olmuştu. o zamandan bu zamana aklıma geldi bir kere daha bakınayım dedim ve karşıma içeriği bu kadar doyurucu türkçe site bulunca açıkçası şaşırdım.
web sitesinde özellikle aradığın bir sayfayı ne yazıkki bulamadım.
aradığım sayfa D Dili kullanılarak yürütülen projeler(başarı hikayeleri gibi :) ) yada aktif olarak kullanan firmalar gibi bir bilgiydi.
bana bu konuda yardımcı olursanız sevinirim.
şimdiden teşekkürler.
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Hoşgeldin erhanbaris! :)

Aklıma ilk gelen, Japon birisinin ünlü oyunu var ama ismini şimdi hatırlayamıyorum. Ama o da D1 zamanında yazılmıştı.

Digital Mars'ın forumlarında derleyicinin hataları yüzünden projelerinin aksadığını söyleyenlere rastladığım oluyor. Ama çoğunluğu ya kişisel projeler, ya da bitirme tezi projeleri.

Wiki4D'de şöyle bir sayfa var:

  http://www.prowiki.org/wiki4d/wiki.cgi?CurrentDUse

Ne kadar güncel olduğunu bilmiyorum. O sayfada da görülen dsource'ta çok proje var:

  http://www.dsource.org/projects/

(O siteye şu sırada bağlanamıyorum.)

Ama onlar da çoğunlukla kütüphane.

Doğrusu, firmalar tarafından aktif olarak kullanıldığını sanmıyorum. Olsa olsa firmaların ana ürünlerine bulaşmayan yan projelerinde veya araç programlarında kullanılıyordur.

Örneğin ben, bu aşamada kendi çalıştığım firmada ancak kendi başına çalışan araç programlarda düşünebilirim. Ama bir kere olgunlaştıktan sonra D'yi kullanmamak için hiçbir neden yok. Hatta, D varken C veya C++ kullanmak için bir neden olmamalı. Bakalım, zaman gösterecek... :)

Bunun iki nedeni var: şimdiki D sürümü (veya standardı) D2. Yukarıdaki programların çoğu D1 zamanından kalma programlar. D2 ile D1 arasında çok büyük farklar var ve birbirleriyle uyumsuzlar. Kendi adıma, D1'e bakmayı hiç düşünmedim bile.

İşin kötü tarafı, D2 de çok yeni. :) Ama kaç aydır beklediğimiz noktaya geldik: D2 artık hazır ve Andrei Alexandrescu'nun D'nin tanımı niteliğinde olan "The D Programming Language" kitabı tam şu sırada kitapçılara doğru yolda.

Bence asıl eğlence bundan sonra başlıyor... :)

Ali
emre413 (Moderatör) #3
Kullanıcı başlığı: Celal Emre ÇİÇEK
Üye Tem 2009 tarihinden beri · 62 mesaj · Konum: Kırıkkale
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
acehreli:
Aklıma ilk gelen, Japon birisinin ünlü oyunu var ama ismini şimdi hatırlayamıyorum. Ama o da D1 zamanında yazılmıştı.

Torus Trooper olsa gerek hocam.
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Teşekkürler Emre. Anlaşılan, Kenta Cho'nun bir çok oyunu D ile yazılmış.

Ali
Mengu (Moderatör) #5
Kullanıcı başlığı: NONSERVIAM
Üye Tem 2009 tarihinden beri · 347 mesaj · Konum: Dersaadet
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
benim anladigim kadariyla oyun endustrisinde bir cok firma d'yi kullanmamak icin bir sebep bulamamis ve d'yi adapte etmisler. d'yi kismetse daha iyi yerlerde gorecegimizi dusunuyorum ama endustriye girmek icin dilin kurucularindan bir adim atilmiyor gordugum kadariyla. yani "biz yaptik, begenen kullanir" tarzi bir yaklasim mevcut. oyle ki iki tane run time library mevcut. irc kanalinda ve listedeki cogu kullanici hala d1 ve tango kullaniyor. d1/d2 ve phobos kullanimi cok az. bu beni rahatsiz ediyor. eger tango d2 uyumlu olsaydi tango kullanirdim. gerci kismetse kutuphaneler birlesecek ve daha guzel bir sey cikacak ortaya ama daha bir vakti var gibi duruyor. 

ben d'nin daha eksiklerinin de oldugunu dusunuyorum. mesela annotation yok. reflection yok. d suan pointer ihtiyaci olmayan, kendi isini kendi goren, gayet hizli, daha iyi bir sinif yapisi olan bir c++. bizim suan gayet iyi bir dokumantasyonumuz var ama d'nin kendisi icin bu gecerli degil. dunyada her gun binlerce insan yeni bir programlama dili ogrenmek istiyor ve d suan en iyi seneceklerden bir tanesi olmasina ragmen ne yazik ki gozardi edilen seylerden bir tanesi dokumantasyon. kimseden tabii java'nin 15 senede ortaya cikarttigi dokumantasyonu ve c# dokumantasyonu gibi bir sey beklemiyoruz ama ortaya daha duzgun, daha ogretici bir dokumantasyon cikartmak cok mu zor? zaten onlarca gonullu var, kur bir dokumantasyon ekibi, onlar yazsinlar cizsinler her seyi, bu o kadar zor bir sey degil ki?

d java'dan daha iyi degil, d c#'tan daha iyi degil; d, sadece c'den ve c++'tan her bakimdan daha iyi, java ve c#'tan ise sunduklarindan degil, hiz bakimindan daha iyi. bana "ide'yi programlamak icin neden d'yi sectin" diye soracak olursaniz, cevabim belli.

- scripting dilleriyle buyuk projeler yazmak suan icin pek akillica degil. onlarin daha yatkin olduklari isler var.
- java'nin gui kutuphanesi native degil, begenmiyor ve desteklemiyorum.
- c# hem dil hem de arayuz kutuphanesi olarak capraz platform degil. ben windows ve linux'te calisacak bir program yaziyorum. windows icin winforms, linux icin gtk# kullanmak zorunda kalmak istemiyorum.
- d, bu ikisinden hiz bakimindan cok daha iyi.
- d gibi guzel bir dilin taninmasina katkida bulunmak istiyorum.

bu nedenlerin hepsi benim d kullanmam icin yeterli geldi ve d kullaniyorum.
http://www.mengu.net - some kind of monster
erhanbaris #6
Üye May 2010 tarihinden beri · 2 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
şu an geliştirdiğimiz projede c# kullanıyoruz. yeni başlıyacağımız proje dilin özelliklerini tam olarak kullanılarak en iyi derecede performans gereksinimi olan bir proje olucak. bundan dolayı alternatif seçenekler üzerinde duruyoruz. bu durumda d programlama dili kullanılabilir fakat d dili seçildiği zaman geliştirme süreci biraz sıkıntılı olacak gibi görünüyor.
öncelikli olarak stabil ve gelişmiş bir geliştirme ara yüzü (IDE) yok.
dediğiniz gibi dökümantasyonu sınırlı.
masaüstü uygulama geliştirmek diğer alternatiflerine göre cazip sayılmaz.
ama
vm kullanmadığı için performansı gayet güzel.
diğer bir göze çarpan sıkıntısı dilin geliştirilmesi ne yazıkki bir kişiye bağlı. bundan dolayıda dilin gelişimi ve büyümesi yavaş ilerliyor.

bu sebeplerden dolayı d dilini seçmek için gerçektende iyi nedenlerimizin olması gerekiyor.
belkide sadece belli yerlerinde D kullanılır. bunu zaman göstericek :)
acehreli (Moderatör) #7
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #5
Mengu:
"biz yaptik, begenen kullanir" tarzi bir yaklasim mevcut

Onu ben de hissediyorum.

iki tane run time library mevcut

Ben artık Phobos'un standart olacağını düşünmeye başladım. Andrei Alexandrescu son hızla Phobos'u geliştirmeye devam ediyor.

Phobos daha açık kodlu. Tango ise daha kapalı. Dilin kurucuları Phobos'çu. Geçen gün "Tango'nun tarih kütüphanesine bakmış" diye Phobos'a kod eklemek isteyen adamı engellediler.

Benim şimdiki hissim, Phobos'un kalıcı olacağı yönünde. Tango'da var olacak ama alternatif bir kütüphane olarak bilenecek. (Bunlar tamamen his. :))

cogu kullanici hala d1 ve tango kullaniyor. d1/d2 ve phobos kullanimi cok az.

Bence bu çok normal. D2 gibi hızla değişen bir dil herkesin harcı değil. Bugün yazılan kod iki hafta sonra geçersiz oluyordu. Bu bizim de başımıza geldi:

- D1'in inout sözcüğünün anlamı bütünüyle değişti

- işleç yükleme bambaşka bir hale geldi (D.ershane bu konuda geri; son iki üç dersi bitirince onu düzelteceğim)

- Benim C++'nın cin ve cout'una benzedikleri için sevdiğim din ve dout'un emekliye ayrıldıklarını öğrendik (bunu da değiştireceğim)

- vs.

- vs. :)

Senin IDE'nin de D2 ile yazıldığına bakarsak, D2 konusunda en uç noktadaki insanları oluşturuyoruz aslında. :)

D2'nin damgası, Alexandrescu'nun kitabı ile vurulmuş olacak. Herkeste öyle bir psikolojik beklenti var.

annotation yok. reflection yok.

Reflection'a örnek verir misin? Benim fazla deneyimim yok ama D'deki şu olanakların bu konuda işe yaradıklarını düşünüyorum:

- şablonlarla (D.ershane'ye çok yeni eklemiştim)
- static if
- derleme zamanında işlev işletme (CTFE)
- __traits (henüz anlatmadım)
- şablon ve dizgi katmaları (mixin) (şu anda yazıyorum)
- vs.

Ama bir C++'cı olarak düşündüğüm için olayın mantığını kaçırmış da olabilirim. :)

Annotation kavramına da yabancıyım ama sanırım D'nin @ karakteriyle kullanılan olanakları onlar. Sanırım henüz bitmemiş ama @property gibi sözcüklerin programcı tarafından genişletilebildiklerini duymuştum. Belki de yine yukarıdaki olanaklarla halledilebiliyordur.

Ali
acehreli (Moderatör) #8
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #6
erhanbaris:
diğer bir göze çarpan sıkıntısı dilin geliştirilmesi ne yazıkki bir kişiye bağlı

Walter Bright hâlâ dilin tek "sahibi" gibi. Ama son derece mantıklı bir insan ve dile eklediği veya reddettiği her olanağı mantıklı bir şekilde savunuyor.

Andrei Alexandrescu'ya çok güveniyor ve onun fikirlerini çok benimsiyor.

Forumun katkısına da çok değer veriyor. O iki şahıs her zaman için forumdaki tartışmalardan etkilenerek ilerliyorlar.

Onların altında 5-6 kişilik bir ekip daha var. Hem fikir, hem de kod katkıları oluyor.

dmd de artık yalnızca Walter Bright tarafından değil, o kişiler tarafından da geliştiriliyor.

Phobos'un baş yazarı şu sıralarda Andrei Alexandrescu; ama yine bir çok insan katkıda bulunuyor.

Her teknolojinin ve kütüphanenin baş tacı bir olanağı bulunuyor. C++'ın STL'sinin bilgisayar dünyasında ses getiren özelliği şunlardı:

- erişiciler (iterator)
- topluluklar (containers)
- algoritmalar
- ve en önemlisi, o üçünün birbirleriyle bağımsızca ve uyumlu olarak çalışabilmeleriydi

C++'nın yükselmesinin en önemli nedenlerinden birisi STL'ydi.

Phobos'un baş tacı olanağı da aralık kavramı (range) olacak. Yukarıdaki erişicilerin yerine aralıklar alacak.

Belki de bu D'nin de yayılması için çok önemli bir özellik olacak.

belkide sadece belli yerlerinde D kullanılır. bunu zaman göstericek :)

Kesinlikle! :)

Ali
qyn_ #9
Kullanıcı başlığı: qyn
Üye Nis 2010 tarihinden beri · 32 mesaj · Konum: öğrenci
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Diller arasında pek bir fark kalmadı bence ..
Şu anda benim D den anladigim ,C ve C++ da ki  bütün kavramlarin ( bu kavramlari öğrenmek o kadarda kolay diil) hatta javaninda class yapisindan üstün bir class yapisi oldugudur.( biraz iddiali oldu :D )
D programlama dilinde program yazmak bir programcı için zor olan konulari öğrenmesi demektir.Dolayisiyla D dilini iyi edüt ettiğim taktirde herhangi bir dilde ,daha önce tanışmadığım bir kavram karşıma çıkmayak cünki neredeyse ben D de hepsini görüyorum.(Web dilleri için gecerli degil çünki bilmiyorum.)
D dilinin bu geniş içerigi dili zorlaştırmamış aksine daha kolay bir C++ yapmis kanisindayim.
Benim için D dilinin tek zorlugu yeterli kaynaginin olmamasıydı ancak Ali hocam yapmis yapicani..İngilizce bilmedigim için açıkçası Alexandrescu'nun kitabını yutamicak olmam benim için bir eksiklik.
Ebook hali cıksada indirsek :D
herkese iyi calismalar...
acehreli (Moderatör) #10
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
qyn_:
D dilini iyi edüt ettiğim taktirde herhangi bir dilde ,daha önce tanışmadığım bir kavram karşıma çıkmayak cünki neredeyse ben D de hepsini görüyorum

Katılıyorum.

İngilizce bilmedigim için açıkçası Alexandrescu'nun kitabını yutamicak olmam benim için bir eksiklik

Ben kitabının çıkacağını duyduğum an Andrei Alexandrescu'ya çevirmek istediğimi söylemiştim. Ne yazık ki bu işler yazara bağlı değil. O da fikri beğendiğini söyleyip Addison Wesley'e benim mesajımı iletti. Bir sene önce çevirmeye başlasam, Türkçesi de çok yakında çıkabilirdi. :)

Bu noktadan sonra herhalde basımcıların talebe göre karar vermeleri gerekir. Öyle olsa bile, basım evlerinin kendi çevirmenleri de vardır tabii.

Ali
qyn_ #11
Kullanıcı başlığı: qyn
Üye Nis 2010 tarihinden beri · 32 mesaj · Konum: öğrenci
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Ben kitabının çıkacağını duyduğum an Andrei Alexandrescu'ya çevirmek istediğimi söylemiştim.
Eger bu kararin devam ediyorsa Ali Üstad çok sevinirim , degilsede zaten senin kitabın şu an için bana yetiyor.
He olurda yayınlarsan kitabını ilk alacaklardan biriside ben olurum.
Mengu (Moderatör) #12
Kullanıcı başlığı: NONSERVIAM
Üye Tem 2009 tarihinden beri · 347 mesaj · Konum: Dersaadet
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #7
acehreli on 2010-05-30, 14:59:
Ben artık Phobos'un standart olacağını düşünmeye başladım. Andrei Alexandrescu son hızla Phobos'u geliştirmeye devam ediyor.

zaten tango'nun d2 ile calismamasi otomatik olarak phobos'a yoneltiyor insanlari. yonelmeyen de d1&tango devam ediyor.

D2'nin damgası, Alexandrescu'nun kitabı ile vurulmuş olacak. Herkeste öyle bir psikolojik beklenti var.

kitap zaten c, c++, java, c# bilen insanlara yonelik olmazsa; bugune kadar yapamadiklarinin aksine d'nin diger dillere gore olan butun farklarini oturup tek tek belirtirlerse; kitaptaki ornekler abidik gubidik degil de bizim dershanedeki gibi olursa o zaman bu kitap bir seye yarayacaktir. dolayisiyla benim kitaptan toplam 3 tane beklentim var. d'nin populer olabilmesi icin, d'nin anlasilabilmesi icin lazim olan seyler bunlar.

Reflection'a örnek verir misin? Benim fazla deneyimim yok ama D'deki şu olanakların bu konuda işe yaradıklarını düşünüyorum:
http://java.sun.com/docs/books/tutorial/reflect/index.html

- şablonlarla (D.ershane'ye çok yeni eklemiştim)
- static if
- derleme zamanında işlev işletme (CTFE)
- __traits (henüz anlatmadım)
- şablon ve dizgi katmaları (mixin) (şu anda yazıyorum)
- vs.

mixinleri multiple inheritance olmadigi icin tavsiye ediyorlardi. gerci ben hala bu kavramlara yabanciyim, misal sablonlar niye var hala anlamis degilim.


Annotation kavramına da yabancıyım ama sanırım D'nin @ karakteriyle kullanılan olanakları onlar. Sanırım henüz bitmemiş ama @property gibi sözcüklerin programcı tarafından genişletilebildiklerini duymuştum. Belki de yine yukarıdaki olanaklarla halledilebiliyordur.

http://java.sun.com/j2se/1.5.0/docs/guide/language/annotat…
http://www.mengu.net - some kind of monster
acehreli (Moderatör) #13
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Mengu:
acehreli:
Reflection'a örnek verir misin? Benim fazla deneyimim yok ama D'deki şu olanakların bu konuda işe yaradıklarını düşünüyorum:
http://java.sun.com/docs/books/tutorial/reflect/index.html

Anladım. D'de çalışma zamanı 'reflection'ı yok. Şu saydığım olanaklar hep derleme zamanına yönelik:

- şablonlarla (D.ershane'ye çok yeni eklemiştim)
- static if
- derleme zamanında işlev işletme (CTFE)
- __traits (henüz anlatmadım)
- şablon ve dizgi katmaları (mixin) (şu anda yazıyorum)
- vs.


Birileri yine de şöyle çözümler getirmeye çalışmış:

  http://www.digitalmars.com/d/archives/digitalmars/D/8174.h…

C++'ca düşünmeye alışmış birisi olarak 'reflection' kavramının ne kadar yararlı olduğunu anlayamıyorum. Yani hiç "eğer bu türün şöyle bir işlevi varsa onu çağır, yoksa çağırma" gibi bir ihtiyacım olmadı. Belki de başka yollarla halledildiği içindir.

Derleme zamanı garantileri de yeterli olabiliyor herhalde. (?)

misal sablonlar niye var hala anlamis degilim.

Bana da şablonlar çok yararlı geliyor. :) Bir tane topluluk veya algoritma gerçekleştirerek onun bütün türlerle kullanılabilmesini sağlıyor.

C++'nın STL'si ve Boost bütünüyle şablonlar üzerine kuruludur.


Bunu da anladım galiba. Sanki Doxygen gibi belgeleme araçlarının açıklama satırlarında yaptıklarını kodun içine açan daha becerikli olanaklar.

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-18, 04:06:08 (UTC -08:00)