Forum: Duyurular RSS
dmd 2.049 çıktı
Sayfa:  1  2  sonraki 
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.049 çıktı
  http://www.digitalmars.com/d/2.0/changelog.html

Ben daha hiç bakamadım ama temizlenen hataların sayısı oldukça fazla! :)

Acaba QtD'cilerin bıkkınlığı mı harekete geçirdi dersiniz. ;)

Ali
Mengu (Moderatör) #2
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ı
dinamik dillerden geldigimden midir nedir beni bir tek std.traits'teki yenilikler heyecanlandirdi. :)
http://www.mengu.net - some kind of monster
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ı
Onları görünce aklıma hemen sen geldin zaten. ;)

Ali
canalpay (Moderatör) #4
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #2
Ben daha hiç bakamadım ama temizlenen hataların sayısı oldukça fazla! :)

Genelde phobos ile ilgili.  Ve yine readf ile ilgili hata temizlenmemiş. Bence bu hatadan haberleri yok?

Tabi ben bu değişiklik sayfasına güvenmiyorum. Bana phobos kütüphanesindeki bir dosya tarafından üretiliyor gibi geliyor.(Basbayağı öyle :-) ) Ve orada doğal olarak dmd ile ilgili değişiklikler not alınmıyor. Doğrusu değiştiğide yok ya :-p
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ı
canalpay:
Bana phobos kütüphanesindeki bir dosya tarafından üretiliyor gibi geliyor.(Basbayağı öyle :-) )

Evet, normalde "bug tracking" sistemindeki bir sorgu sonucunda oluşturulurlar. "Kapatılmış olan bütün hataların kısa özetlerini ver" gibi... DDOC marifetiyle de HTML'leştiriyorlardır belki.

Ali
canalpay (Moderatör) #6
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Evet, normalde "bug tracking" sistemindeki bir sorgu sonucunda oluşturulurlar. "Kapatılmış olan bütün hataların kısa özetlerini ver" gibi...

Bana el yordamıyla ekliyor gibi geldi. Bazen çünkü hiç eklenmiyor bazen daha sonra ekleniyor. Bazende aynı anda.

Bu arada d.learn'e orada kimse takmaz ise d forumuna bir mesaj atmak istiyorum:

başlık : readf bug in the std.stdio

import std.stdio;
 
void main() {
 
    char a;
    wchar b;
    dchar c;
    
    readf("%s %s %s", &a,&b,&c);
 
}

Error :

dmd -w -c "isimsiz.d" (C:\Program Files\Geany )
C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(441): Error: template std.format.unformatValue(T,Range,Char) if (isArray!(T) && !isSomeString!(T)) does not match any function template declaration
C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(441): Error: template std.format.unformatValue(T,Range,Char) if (isArray!(T) && !isSomeString!(T)) cannot deduce template function from argument types !(char)(LockingTextReader,FormatSpec!(char))
C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(441): Error: template instance errors instantiating template

where is the problem? Is the error?
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ı
Derleme hatalarından sonraki metni şöyle yazabilirsin:

Is that intended, or a bug?

Please note that this works:

    int i;
    readf("%s", &i);

Ali
"Ali yazma ama :p"
Kadir Can #8
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Sanıyorum ki bu büyük bir bug.
canalpay (Moderatör) #9
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Sanıyorum ki bu büyük bir bug.

Phobosun yeni ve güzel olanaklarına çok sevinmiştik ama phobos yine aynı phobos. C'den alınmış ve daha çok hata katılmış phobos :-) Düzelebileceğinide sanmıyorum. Çünkü zamanında çok karışık yazmışlar. std.array gibi modüller iyi yazılsada daha önce yazılmış modüller çok karışık yazılmış ve geliştiriciler bile anlamıyor büyük ihtimalle. :-) Aslında phobos ya da direk C kütüphanesini yamalayarak küçük basit bir giriş çıkış kütüphanesi yazılabilir.  Ya da artık projelerde direk C kütüphanesini  mi kullansak?

http://www.digitalmars.com/webnews/newsgroups.…?art_grou…
Kadir Can #10
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanlış anlamayın dostlarım ama sanırım D her sürümünde bir karanlığa doğru gidiyor.QtD'ciler de ayrıldı.Bence 2 sürümünün finali yayınlanmadan birkaç tane anti-bug sürümü yayınlansın.Yoksa bir yandan geliştirirken,bir yandan da bug iyileştirmek,iyi bir çözüm değil gibi.
acehreli (Moderatör) #11
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 #8
Kadir Can:
Sanıyorum ki bu büyük bir bug.

Bu aslında çok ilginç bir konu. Bir çok ayrıntıyla ilgisi var. :)

Ne yapmaya çalışıyoruz? Bir giriş akımından belirli bir Unicode kodlamasına uyan bir karakter çekmeye çalışıyoruz.

O kadarı kolay, ama bu gerçekten mümkün mü?

Örneğin benim açtığım bir hata vardı: din.readf "false" veya "true"yu bool değer olarak okuyamıyordu: http://d.puremagic.com/issues/show_bug.cgi?id=3223 Mantıklı bir istek: eğer bool değerler "false" ve "true" olarak yazdırılıyorlarsa, bunun tersi de bulunmalı.

Ama bu aslında int'ler için bile geçerli değil: çıkışa art arda 4 ve 2 yazdırsak "42" olarak yazılıyor; ama girişte "42" varken iki tane int okumaya kalksak birincisi 42 oluyor, ikincisi ise girişte karakter belirene kadar bekliyor. Yani aslında aradığımız simetri giriş çıkış işlemlerinde doğal olarak yok.

Tekrar "false" ve "true"ya dönersek, diyelim girişte "truva" diye karakterler var. bool bir değer okumak istediğimizde "tru"nun okunacağını ama sonra 'v'nin beğenilmeyeceğini düşünürüz. Bu durumda bir hata atılmalıdır (int beklendiğinde "abc" geldiğinde atılıyor.).

Hata atıldığı zaman, o ana kadar okunmuş "tru"ya ne olmalıdır? Giriş akımından çekilmiş ve kayıp edilmiş mi olmalıdır, yoksa daha sonraki bir işlemde girişten string okumak istendiğinde "truva" okunsun diye elde bekletilmeli midir?

Onu olabilmesi için stdin akımının kendisine ait bir ara belleğinin bulunması gerekir. Çünkü standart giriş, programın dış dünyasına bağlı bir akımdır. Örneğin konsolda çalışan bir programa giriş karakterleri konsol ortamı tarafından teker teker verilir. Konsola "bu karakterleri şimdilik beğenmedik, lütfen geri al" diyemiyoruz. O yüzden stdin nesnesi her aldığı karakteri bir ara bellekte bekletmek durumundadır. O ara belleğin büyüklüğü ne kadar olmalıdır? "false"tan anlaşıldığına göre, bool olarak kabul edilemeyen bir karakter dizisi geldiğini en fazla 5 karakter okuduktan sonra anlayabiliyoruz. Yani bu ara bellek 5 karakterlik olabilir.

Ama bu 5 değeri bool için geçerli. Kendi türlerimizi okurken bir hata atılsa? Belki de kendi türümüzün nesnesi bin karakter okuduktan sonra mutsuz oluyordur. O bin karakter de saklanmalı mıdır?

Bunların yanıtları stdin'in ne tür bir aralık olarak kabul edildiği ile ilgili. Bir giriş aralığı mı (input range), yoksa bir ilerleme aralığı mı (forward range)?

Bunların yanıtlarını ben de bilmiyorum. Bunları yalnızca basit olması gereken bu konunun aslında bazı karışıklıklar içereceğini göstermek için yazdım.

Girişten char, wchar, ve dchar okumanın da aslında bu konulara dokunduğunu farkettim. Bunun nedeni, bu üç türün aslında bir kodlama ile ilgili olmaları. Her kod dizisi geçerli bir Unicode karakterine karşılık gelmiyor olabilir. O yüzden, "tru" örneğinde gördüğümüz gibi, o ana kadar okunanların bir ara bellekte tutulması gerekebilir.

İşte böyle. :/ Yeni öğrenenlerin işini güçleştiriyor. Onun için de birisi kullanışlı bir kaç işlev yazdığını söylemişti. Sırf yeni öğrenenler için eklemeyi düşünürlerse yararlı olacak. Şöyle bir şey:

auto yaş = oku!int("Yaşınız?");

oku işlevi girişten bir int okuyacak ve onu döndürecek.

Ali
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ı
Yanıtlanan mesaj #9
canalpay on 2010-09-18, 11:46:
C'den alınmış ve daha çok hata katılmış phobos :-)

C kütüphaneleriyle başladığı herhalde doğrudur ama Phobos'ta C ile yapılamayacak çok olanak var. (Her dilde herşey yapılabileceği için "C'de çok okunaksız veya güçlükle yapılabilecek" demek daha doğru olur. :))

Düzelebileceğinide sanmıyorum. Çünkü zamanında çok karışık yazmışlar. std.array gibi modüller iyi yazılsada daha önce yazılmış modüller çok karışık yazılmış ve geliştiriciler bile anlamıyor büyük ihtimalle. :-)

Artık çok sayıda geliştiricisi var. Sorun, bu insanların hayatlarını başka yerlerde çalışarak kazanmalarının gerekiyor olması. (Andrei Facebook'ta çalışıyor.)

Aslında phobos ya da direk C kütüphanesini yamalayarak küçük basit bir giriş çıkış kütüphanesi yazılabilir.  Ya da artık projelerde direk C kütüphanesini  mi kullansak?

Çok yetersiz olur. C, üst düzey kavramları ifade edemiyor. C++ o konuda C'den çok daha iyi ama D'nin yanında o da çok yetersiz kalıyor.

Bence Phobos çok iyi bir kütüphane olma yolunda. En azından benim yanılgım, herşeyin kitap çıktıktan sonra hemen düzeleceğini sanmak oldu.

Ali
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ı
Yanıtlanan mesaj #10
Kadir Can:
Yanlış anlamayın dostlarım ama sanırım D her sürümünde bir karanlığa doğru gidiyor.

Ben öyle görmüyorum. Her sürümde daha hatasız ve kitaba daha uygun olarak geliyor. (Andrei'nin kitabının dilin tanımına tam uyacağı söylenmişti; onun için kitabın anıyorum. :))

QtD'ciler de ayrıldı.

Tam ayrılmamış olabilirler. :) Andrei acil bir hareketle sanki gönüllerini almayı başardı. :) Göreceğiz...

Ali
canalpay (Moderatör) #14
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Tam ayrılmamış olabilirler. :) Andrei acil bir hareketle sanki gönüllerini almayı başardı. :) Göreceğiz...

Şaşırmadım. Anladığım kadarıyla Andrei qt'yi çok önemsiyor. Bence bu D için hayırlı bir şey olur. D geliştiricileride durumu görmüş olur. Beklemeye artık takatı olmayan sabırsız D topluluğu :-p

İşte böyle. :/ Yeni öğrenenlerin işini güçleştiriyor. Onun için de birisi kullanışlı bir kaç işlev yazdığını söylemişti. Sırf yeni öğrenenler için eklemeyi düşünürlerse yararlı olacak. Şöyle bir şey:

auto yaş = oku!int("Yaşınız?");


oku işlevi girişten bir int okuyacak ve onu döndürecek.

Aynısını düşünüyordum :-)

Sanırım en doğrusu döngü ile karakter karakter okunması. Bunun için phobosun std.stdio modülünün bir işlevini göremedim ben.

Bence Phobos çok iyi bir kütüphane olma yolunda.

Bence phobosun sadece D ile yazılan modülleri çok iyi. Ayrıca okunabilirliği yüksek. Biraz hatalı olabiliyor ancak çok çabuk kapatabiliyorlar. Modüllerde hala tamamlanmamış üyeleri var ama hızla tamamlanıyor. Ancak C'nin işlevinden yamalanmış işlevler çok sorunlu ve çabuk hatalarını düzeltemiyorlar.

Her dilde herşey yapılabileceği için

Ben en çok bunu merak ediyorum. Örneğin hiç bir kütüphane kullanmadan nasıl D için bir girişten karakter okuyan bir işlev yapılabilir? Yada C ile. Çok merak ediyorum.
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ı
canalpay:
Her dilde herşey yapılabileceği için

Ben en çok bunu merak ediyorum. Örneğin hiç bir kütüphane kullanmadan nasıl D için bir girişten karakter okuyan bir işlev yapılabilir? Yada C ile. Çok merak ediyorum.

O yapılamaz. :)

Bunun nedeni, programın giriş ve çıkışının programın bizim yazdığımız parçası tarafından değil, bizim yazdığımız parçayı başlatan çalışma katmanı (D runtime (veya C runtime)) tarafından hallediliyor olması.

Standart giriş ve çıkış denen akımlar, bizim programımıza bir şekilde bağlanarak geliyorlar. Onlarla iletişim de o bağlantılardan anlayan bir katman tarafından halledilebilir. Onu sunan kütüphaneler kullanmak zorundayız.

Aslında bu konularda çok deneyimli değilim ama benim bildiğim öyle. :)

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:
Sayfa:  1  2  sonraki 
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-18, 17:25:59 (UTC -08:00)