October 16, 2012

Vakit faktörü hepimizin baş belası. Bir de Mert ağabey olayı bir kademe öteye geçirmiş ve demiş ki; arama yapıyorum ve istediğim sadelikte örnek bulamayınca ilgim de tükeniyor. Düşünün vaktiniz tükenmiş, kalan vakti daha verimli kullanabilmek için de motivasyonda gitti mi geriye kalıyor kayıp zaman parçacıkları...

Sadelik konusunda haklısınız. Zaten bugüne kadar yapmaya çalıştığım her şeyin basitini sorguladığımı ve/veya aradığımı görmüş olmalısınız. Mert ağabey ile telefonda konuşurken bunu da dile getirdim. Keza bu başlığın konusu olan SDLmini ve ilk iletideki örneğin basitliği fark ediliyor değil mi? Normalde başka bir dildeki SDL örneklerine bakarsanız karşınıza iç içe girmiş döngüler, bir sürü şartlı ifadeler ve sayısız işlevler ile karşılaşıyorsunuz. Burada ise tek yapmanız gereken sahneyi kurmak ve istediğiniz şekli çizmek.

Hoş sadelik bir yere kadar ne yazık ki. Örneğin bu SDLmini kesinlikle bir oyun yapmak için değil. Yani bu yapıyı koruyup olabildiğince geliştirseniz bile dünya hayatının kuralları çerçevesinden çıkamıyor ve ister istemez karmaşıklığa doğru yöneliyorsunuz. En doğal örneği belki insan vücudundaki sistemlerdir. Basiti ise güneşten gelen en temel enerji/parçacık olan fotonların bitki yapraklarına çarpıp besin döngüsünü başlatması olarak düşünebilir. Oysa bir bitkide bile nice karmaşık kimyasal reaksiyonlar olmalı...:)

Mert ağabeyin fikrini ise her iki yandan da destekliyorum.

  • İster bana karmaşık bir işlev/kod/uygulama verin ve bundan sade bir şey çıkarın deyin; ben de gerekeni yapayım...:)
  • İsterseniz bir konu belirleyelim ve herkes olabildiğince bu konu hakkında en sade kodu çıkarmaya çalışsın?

Bakınız şimdi aklıma gedi. Bunu bir yarış havasına da sokabiliriz. Aslında Ali hocam bizi açık ara ile mağlup edeceğinden kuşkum yok ama hoşumuza gidebilir. Çünkü Ali hocamın, bir kodu D'nin olanakları sayesinde nasıl basit ve zarif bir şekilde ifade edebildiğine sıklıkla şahit olmuşumdur.

Peki merhaba dünyaya geri dönelim ve Mert ağabeyin de yorum yaptığı şu başlığa (http://ddili.org/forum/thread/882) ne diyelim?

Gerçekten ürkütücü mü? Çünkü hedefim bir çok olanağı göstermekti ve elbette objektif bir bakış açısıyla bakamıyorum. Acaba yaklaşık 1 sene önce D'ye ilk başladığımda bu koda ne derdim. Hmmm, sanırım şöyle derdim:
Alıntı:

>

Hello ile World 5 harften oluştuğu için bunu substring gibi bir şey yapıyor ve ikiye bölüyor. Sonra bir döngü içinde her ikisini de farklı iki teknik ile ekrana yazıyor.

Şimdi ise koda baktığımda Ali hocamın geçenlerde bahsettiği çift işaretli ( % %) writef() çıktısıyla parantezler çok daha kolay olabilir. Hatta yanılmıyorsam std.string sınıfında olan split() işlevi ile çok daha akıllı bir şey yapabilirdik. Yine de dilim olayın göstermeyi ve bu konularda olabildiğince örnek çözmeyi tercih ederim.

Sevgiler, saygılar...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2012

Alıntı:

>

Peki merhaba dünyaya geri dönelim ve Mert ağabeyin de yorum yaptığı şu başlığa ne diyelim?

Merhaba dünya örneği bir tane olmak zorunda değildir diye düşünüyorum.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2012

Basitçe bir merhaba başlangıç kodu şöyle sunulabilir;

import std.stdio;

void main()
{
  char dizgi[] = ['M', 'e', 'r', 'h', 'a', 'b', 'a', 'D', 'ü', 'n', 'y', 'a'];

  foreach (sırala; dizgi) {
     write(sırala, "");
  }
}

Bu kodun çıktısında dizgimizi char[] olarak seçtiğimizden dolayı 'ü' harfinin nasıl bozulduğu da gösterilmiş olunur.
Ardından aynı kod bu defa dchar[] olarak sunularak arasındaki farkların da değerlendirilmesi sunulur veya sağlanır.

import std.stdio;

void main()
{
  dchar dizgi[] = ['M', 'e', 'r', 'h', 'a', 'b', 'a', 'D', 'ü', 'n', 'y', 'a'];

  foreach (sırala; dizgi) {
     write(sırala, "");
  }
}

Yalınlık derken öğretme ve algı yalınlığı işlevlerini sağlasın demek istiyorum.
Bunlar gibi yine salihin sunduğu merhaba dünya örneği de yan örnekler olarak bölüme eklenebilir. Burada dikkat etmemiz gereken şey, ortak bir dili konuşuyor olmamız ve kodlama standartlarına harfi harfine uymamız olmalıdır ki her birimizin yazdığı kodlar açık seçik anlaşılabilsin.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2012

Anlıyorum...

Basitten zora doğru ve olası hataları/geliştirmeleri göstererek...:)

O halde müzikten başlayalım mı?

enum Notalar { Do = 1, Re, Mi, Fa, Sol, La, Si }

Ama isterseniz artık ayrı bir başlık açalım. Fikir Mert ağabeyin olduğuna göre bu yükü onun üzerine atıyorum. Atttım bile...:D

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2012

Alıntı:

>

enum Notalar { Do = 1, Re, Mi, Fa, Sol, La, Si }

Enum e harfi veya enum başlığına gider sanırım. Geliştire geliştire gidilebilinir. Belki sona doğru dersanedeki çalgı sınıf örneklerine de bağlanır bilemiyorum.

Bu durumda herkes kendi topunu sürecek kaleye doğru gibime geliyor :-)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2012

Alıntı:

>

Hello ile World 5 harften oluştuğu için bunu substring gibi bir şey yapıyor ve ikiye bölüyor. Sonra bir döngü içinde her ikisini de farklı iki teknik ile ekrana yazıyor.

İşte Salih bu açıklamayı örnek koda eklemek mantıklı olabilir. Bunu yapmamız arkamızdan gelenleri kolaycılığa iter mi diye düşündüm bir an, sonra faydası bu olumsuzluktan daha ağır basınca da üzerinde durmadım.
Bazı açıklamalar gerekli olacak kuşkusuz. Eğer yeni D takipçilerinin çoğalmasını istiyorsak yeni başlayanların da gözetilmesi gerekecek.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2012

O da güzel fikir. D'de "merhaba dünya" yazmanın biç çok çeşidi kolaydan zora doğru gösterilebilir.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

May 07, 2013

Alıntı (Salih Dinçer:1347006076):

>

Henüz 'keyEvent()' işlevini fazla geliştirmedim. Zaten sdlmini.d içinde tanımlı pek fazla tuş yok. İleriki sürümlerde ihtiyaç duyulabilecek olası işlevler ile birlikte geliştirebiliriz.

...

Alıntı:

>

-16 Ekim, sınıf ismi draw-> scene olarak değişti ve keyEvent yerine de ayrıyetten escEvent eklendi...
-7 Mayıs, itibariyle keyEvent() sınıfı bitti ve test aşamasına geçildi...

Süper bir keyEvent() sınıfı ortaya çıktı. Basit denemeler için daha güvenli ve işlemci gücünü daha etkin kullanan escEvent() sınıfını muhafaza ettim. En büyük değişiklik event ismindeki SDL_Event union'ı sınıfın üyesi olacak şekilde değişmesi.

Bazı nedenlerden dolayı GitHub yüklemesini geçiktireceğim. Şurada (http://ddili.org/forum/post/9331) tartışmaya açtığım soruna çözüm buldum. Artık tek başıma yoğun testlere geçiyorum. Zaten test yapmaya meraklı kimse yok...:)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

1 2
Next ›   Last »