osa1 github about atom

Etkinlik fikri

October 6, 2012 - Tagged as: tr.

Hep ilgilenen insanların bir araya toplanıp, zorlu bazı problemleri bazı limitler altında çözdükleri etkinliklere özenmişimdir. Aslında çok farklı bir konsept değil, oyun geliştiricileri uzun süredir benzer etkinlikler yapıyorlar(1, 2, 3, ve pek çok başka yerel etkinlikler).

Bir keresinde bir programlama yarışmasında finale kalmıştım, bir de LudumDare tecrübem var. Bunlardan ikisini de saymıyorum çünkü birincisi aslında benim ilgi alanıma giren birşey değildi ve sırf challange olsun diye girmiştim, ikincisinde de aslında bir “toplanma” yok. Yani dünyanın her yerinden yarışıyorsunuz. Ben daha çok bir araya toplanılıp, daha kısa süre içerisinde(LD 48 saat sürüyor mesela), daha küçük birşeyler yapılıp günün sonunda dağılınan birşeyler hayal etmişimdir. İşin biraz da sosyalleşme ve kafa dengi insanlarla tanışma yönü olmasını istiyorum yani ben.

Mesela şöyle bir fikir var kafamda: Mainstream dillerle katılınamayan bir programlama etkinliği. Örneğin Java, Python, Ruby, JavaScript, C++, C# gibi dillerle katılamazsınız ama Lisp dilleri, Go, Rust, Erlang, Haskell, Smalltalk, Factor, Scala, F#, D vs. kabul. Amaç 10 saat gibi bir süre içerisinde DCPU-16 assembler/disassembler ve debuggerı yazmak.

Specification’a bakarsanız, ne kadar küçük olduğunu görebilirsiniz. 10 saat içerisinde gelmeden önce birkaç döküman okunup biraz aşina hale gelinmiş farklı bir dil ile yazılabilir. Bu sayede sadece, muhtemelen daha önce karşılaşılmamış bir konuda bazı problemleri çözmüş değil, aynı zamanda bu yeni dili de daha iyi öğrenmiş ve anlamış olur katılanlar.

Gerçi bu problemde birden fazla kişinin iş bölümü yapması pek mümkün olmayabilir(proje zaten yeterince küçük olacaktır), bu durumda da “pair programming” benzeri birşey yapılabilir. 2 kere, her biri birkaç gün süren pair programming tecrübem oldu. Birisinde klavyede hep ben vardım ve yanımdaki arkadaş programcı bile değildi ve ikisinde de çok eğlendiğimi söyleyebilirim(gerçi biraz yorucu oluyor).

Burada üretilen programların pratikte çok bir işe yaramayacak olması ve herhangi bir ödülün olmaması önemli. Bu katılımcıların öğrenme ve eğlenmeye odaklanmalarını sağlar ve sadece bu amaçla katılanları bir araya toplar diye düşünüyorum.

Olamayacak bir fikir mi, engeller neler olabilir, neler değiştirilebilir? İlgilenen varsa, yorum bölümüne birşeyler karalarsa sevinirim :) Belki hayata geçirebiliriz.


DÜZENLEME: 2. bir fikir de, yine farklı dillerde, bir C kütüphanesinin FFIının yazılması olabilir. Hem çok zor bir işlem değil (10 saatte epey bir yol katedilir, kullanılır hale getirilebilir), hem de son bir haftamı yoğun bir şekilde FFI bindingleri/wrapperları yazarak geçiren biri olarak, FFI’ı anlamanın inanılmaz önemli ve faydalı bir şey olduğunu düşünüyorum. Burada FFI’ı yazılacak kütüphaneyi iyi belirlemek gerekir.

DÜZENLEME 2: 3 arkadaşımdan olumsuz cevap aldım bile. Bu yazıyı bu blogun en başarısız yazısı ilan ediyor ve ibret olsun diye burada bırakıyorum :P .