Forum: Duyurular RSS
dmd 2.069.0 beta çıktı
acehreli (Moderatör) #1
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ı
Konu adı: dmd 2.069.0 beta çıktı
  http://dlang.org/changelog/2.069.0.html

Yanılmıyorsam, bu sürüm dmd'nin ön tarafının bütünüyle D'ye taşınmış olanı... Göze çarpan olanaklar:

  • getUDAs ve getSymbolsByUDA: Kullanıcı nitelikleriyle uğraşırken kolaylık sağlayacak gibi görünüyorlar.

  • moveEmplace: move ile emplace'i birleştiriyor ama ikisini ayrı ayrı çağırmaktan daha hızlı işliyor. (Hemen üstüne yazılacak olan bir nesnenin ilklenmesine gerek bırakmıyor.)

  • Andrei'nin allocator modülü deneysel olarak şimdilik std.experimental.allocator adıyla geliyor.

Ali
zafer #2
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Şu sıralar vibe.d ile çalıştığım için kararlı sürümlerde kalmam gerekiyor. Acaba  bendeki sürümün yanına bunu kursam sıkıntı yaşar mıyım?
https://github.com/zafer06 - depo
acehreli (Moderatör) #3
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ı
Aslında önce vibe.d gibi projelerin derlenebildiğinden emin olduklarını düşünürüm ama evet, her zaman için sorun çıkabilir. :)

İngilizce haber gruplarındaki duyurusunu izlemeye devam edeceğim. vibe.d'de sorun varsa birisi mutlaka yazacaktır.

Ali
Avatar
zekeriyadurmus #4
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Her çıkan yeni sürüm ile eski projeler/kodlar çalışmıyor.

Örneğin 2.069 ile 2.068 arasında bile fark oluyor. Sürümler bu kadar yakınken böylesine derleme sorunları çıkması can sıkıcı.

Ali hocam konferanslarda hiç dilin stabilitesi hakkında bir şey söyleniyor mu?

C++ ın her çıkan sürümünde eskiye dönük kodların desteklendiğini düşünüyorum. Maalesef bu D için geçerli değil.

Bu arada artık tamamen D diline geçmesi sevindirici bir haber.

Ek olarak std.experimental.allocator tam olarak ne amaçla kullanılıyor?

Zekeriya
Bilgi meraktan gelir...
acehreli (Moderatör) #5
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ı
zekeriyadurmus:
Her çıkan yeni sürüm ile eski projeler/kodlar çalışmıyor.

Bu artık çok nadir.

Onların çoğu eski derleyicinin yasal olmayan kodlara izin vermiş olmasına bağlı. Başta Walter olmak üzere çoğu kişi, bazı durumlarda açıkça yanlış veya hatalı olan olanakları bile düzeltmeme taraftarı (eski kodlar bozulmasın diye).

Değişen şey kütüphane olanağı olduğunda da deprecated() olanağından yararlanılıyor.

deprecated("Bunun yerine std.falanca.yeniŞey'i kullanınız.")
alias eskiŞey = std.falanca.yeniŞey;

(Bu arada, ayıp ama 'deprecated' kitapta geçmiyor. :blush:)

Ali hocam konferanslarda hiç dilin stabilitesi hakkında bir şey söyleniyor mu?

Walter ve baştakilerin çoğu seninle aynı fikirde. :)

std.experimental.allocator tam olarak ne amaçla kullanılıyor?

Ben henüz bakamadım ama belirli bir tür veya onun elemanları için gereken yeri ayıran düzeneği belirliyor. Dizi gibi bir topluluk yazsak, en basit olarak çöp toplayıcıdan yararlanırız ve elemanı new diye oluşturuveririz.

Çöp toplayıcı genelde programı beklenmeyen zamanlarda yavaşlatabilen bir düzenek olduğundan, bazı durumlarda bellek ayırma işini elimizde tutmak isteriz.

Şimdilik deneysel olan std.experimental (yani, ilerideki std.allocator), kütüphane olanakları ile kendi bellek ayırıcılarımızı birleştirme olanağı verecek. Örneğin, İkiliAğaç gibi bir türe "elemanları ayırırken BenimSüperAyırıcımı kullan" diyebileceğiz.

Deneyince bir şeyler yazmak iyi olur. Aslında elimi çabuk tutarsam bunun ilk makalesini de ben yazmış olabilirim ama önce biraz oynayıp anlamak gerek. :)

Ali
acehreli (Moderatör) #6
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ı
'deprecated' anahtar sözcüğünü kitaba ekledim:

  http://ddili.org/ders/d/moduller.html#ix_moduller.deprecated

Ali
nurullahisrgan #7
Üye Ock 2015 tarihinden beri · 76 mesaj · Konum: Mardin, Nusaybin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
GtkD ile bir basit pencere kodu derlemeye çalıştım. .o dosyası  hata verdi. Hata çıktısını burada paylaşmayacağım. Çünkü, çok uzun ve karışık. Bunun nedeni ne olabilir? GtkD de olan sorun, Vibe.d'de olabilir.
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ı
Hata mesajını görmeden nasıl bilelim? :)

Ali
nurullahisrgan #9
Üye Ock 2015 tarihinden beri · 76 mesaj · Konum: Mardin, Nusaybin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
acehreli:
Hata mesajını görmeden nasıl bilelim? :)

Ali

Kod 2.068.2 sürümünde sorunsuz derlendi ancak 2.069.b2 sürümünde şu hata mesajını verdi:

/usr/local/lib/libgtkd-3.a(Loader.o): In function `_D3std6format61__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderThTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderhKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
src/gtkc/Loader.d:(.text._D3std6format61__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderThTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderhKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x13f): undefined reference to `_D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTmTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv'
/usr/local/lib/libgtkd-3.a(Loader.o): In function `_D3std6format62__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderTxhTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderxhKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
src/gtkc/Loader.d:(.text._D3std6format62__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderTxhTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderxhKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x13f): undefined reference to `_D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTmTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv'
/usr/local/lib/libgtkd-3.a(Loader.o): In function `_D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTlTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxlKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv':
src/gtkc/Loader.d:(.text._D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTlTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxlKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv+0x64): undefined reference to `_D3std6format64__T14formatUnsignedTS3std5array17__T8AppenderTAyaZ8AppenderTmTaZ14formatUnsignedFNaNbNfS3std5array17__T8AppenderTAyaZ8AppendermKS3std6format18__T10FormatSpecTaZ10FormatSpeckbZv'
/usr/local/lib/libgtkd-3.a(Loader.o): In function `_D3std5array17__T8AppenderTAxaZ8Appender10__T3putTwZ3putMFNaNfwZv':
src/gtkc/Loader.d:(.text._D3std5array17__T8AppenderTAxaZ8Appender10__T3putTwZ3putMFNaNfwZv+0x40): undefined reference to `_D3std3utf6encodeFNaNfKG4awZk'
/usr/local/lib/libgtkd-3.a(Loader.o): In function `_D3std6format62__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderTxmTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
src/gtkc/Loader.d:(.text._D3std6format62__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderTxmTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x13f): undefined reference to `_D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTmTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv'
/usr/local/lib/libgtkd-3.a(TextBuffer.o): In function `_D3std6format61__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderThTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderhKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
src/gtk/TextBuffer.d:(.text._D3std6format61__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderThTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderhKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x13f): undefined reference to `_D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTmTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv'
/usr/local/lib/libgtkd-3.a(TextBuffer.o): In function `_D3std6format62__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderTxhTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderxhKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
src/gtk/TextBuffer.d:(.text._D3std6format62__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderTxhTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderxhKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x13f): undefined reference to `_D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTmTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv'
/usr/local/lib/libgtkd-3.a(TextBuffer.o): In function `_D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTlTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxlKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv':
src/gtk/TextBuffer.d:(.text._D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTlTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxlKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv+0x64): undefined reference to `_D3std6format64__T14formatUnsignedTS3std5array17__T8AppenderTAyaZ8AppenderTmTaZ14formatUnsignedFNaNbNfS3std5array17__T8AppenderTAyaZ8AppendermKS3std6format18__T10FormatSpecTaZ10FormatSpeckbZv'
/usr/local/lib/libgtkd-3.a(TextBuffer.o): In function `_D3std5array17__T8AppenderTAxaZ8Appender10__T3putTwZ3putMFNaNfwZv':
src/gtk/TextBuffer.d:(.text._D3std5array17__T8AppenderTAxaZ8Appender10__T3putTwZ3putMFNaNfwZv+0x40): undefined reference to `_D3std3utf6encodeFNaNfKG4awZk'
/usr/local/lib/libgtkd-3.a(TextBuffer.o): In function `_D3std6format62__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderTxmTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
src/gtk/TextBuffer.d:(.text._D3std6format62__T11formatValueTS3std5array17__T8AppenderTAyaZ8AppenderTxmTaZ11formatValueFNaNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x13f): undefined reference to `_D3std6format64__T14formatIntegralTS3std5array17__T8AppenderTAyaZ8AppenderTmTaZ14formatIntegralFNaNbNfS3std5array17__T8AppenderTAyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv'
collect2: error: ld returned 1 exit status
--- errorlevel 1
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ı
"undefined reference" hataları hep bağlayıcıdan gelir. Kod derlenebilmiştir ama bağlayıcı modülleri ve kütüphaneleri birbirlerine bağlayamamıştır.

Anlaşılan, GtkD henüz en yeni dmd sürümünü desteklemiyor. Bir ihtimal, GtkD'yi kendimiz 2.069.b2 ile derleyip oluşturursak çalışabilir ama ben olsam önceki dmd'yi kullanır ve GtkD'nin yeni sürümünü beklerdim.

Ali
nurullahisrgan #11
Üye Ock 2015 tarihinden beri · 76 mesaj · Konum: Mardin, Nusaybin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
acehreli on 2015-10-26, 11:26:
"undefined reference" hataları hep bağlayıcıdan gelir. Kod derlenebilmiştir ama bağlayıcı modülleri ve kütüphaneleri birbirlerine bağlayamamıştır.

Anlaşılan, GtkD henüz en yeni dmd sürümünü desteklemiyor. Bir ihtimal, GtkD'yi kendimiz 2.069.b2 ile derleyip oluşturursak çalışabilir ama ben olsam önceki dmd'yi kullanır ve GtkD'nin yeni sürümünü beklerdim.

Ali

Ben sadece deneme amaçlı üzerinde derledim. Herhalde GtkD en yakın zamanda dmd'nin yeni sürümünü kabul eder.
acehreli (Moderatör) #12
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ı
2.069.0 betadan sonra tam sürümde:

  http://dlang.org/changelog/2.069.0.html

Ali
zafer #13
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Merhaba,

İlk gözüme çarpan Objective-C konusundaki geliştirme oldu. Sanırım şu an için sadece MacOS X sistemlerde bu özellik kullanılabiliyor.
Ön kısmın (frontend) D ile yeniden kodlanması beni özellikle mutlu eden bir gelişme  ;-)

std.net.curl üzerinde yapılan geliştirme ile sanırım artık libcurl ile boguşmadan download işlemlerini yapabileceğiz. Bu güzel olmuş ancak sisteme yine curl-dev kütüphanelerini kurmak gerekecek mi?

D dilinin giderek olgunlaştığını görmek güzel, umarım vibe.d sürüm güncellemeside yakında yayınlanır.
https://github.com/zafer06 - depo
acehreli (Moderatör) #14
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ı
zafer:
sisteme yine curl-dev kütüphanelerini kurmak gerekecek mi?

Hiç sanmıyorum çünkü hem Linux'ta hiç böyle bir sorun yaşamadım hem de forumlarda Windows kullananlar öyle bir sorundan bahsetmiyorlar.

Ali
acehreli (Moderatör) #15
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ı
Reddit'te:

  https://www.reddit.com/r/programming/comments/3rg17h/d_206…

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:
Forum: Duyurular RSS
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-22, 03:04:23 (UTC -08:00)