NetLogo
Geçenlerde biri bana NetLogo programlama dilinden bahsetti. Çok basitmiş, tamamen görselmiş, eğlenceliymiş… Bir bakayım demiştim fırsat bulunca yükledim incelemeye başladım. Ama neyi inceleyeceksin? Örnek çalışmaları bile açamadım. Project yerine Model yazarlarsa böyle olur tabii.
Neyse, daha sonra üç gramdan biraz fazla (Uğur Can’ın kulakları çınlasın) olan İngilizce’mle http://ccl.northwestern.edu/netlogo/docs/ adresindeki Tutorial yazılarını anlamaya çalıştım. İlk bölüm “Models” diye bir şeymiş. Dedim ya Project’in laciverti gibi bir şey. Hızlıca geçtim. İkinci bölüm “Commands” aynı bizim fonksionlar gibi onu da “Ne zaman sözdiziminden bahsetmeye başlayacak?!” diyerek hızlı hızlı geçtim. Bu arada katnak kodlara bakıyorum ama bir şey anladığım yok. Sadece [ ] karakterleri kod bloklarını gösteriyor onu anladım.
Neyse, üçüncü bölüm “Procedures”. Ve “da da da dan” gibi bir ses çıkarıyorum içimden çünkü nihayet “select New from File menu” yazısını görüyorum. En başından başlıyoruz programa. Buton ekleme pek de garip gelmedi zaten bir baksan anlardın. Sonra fonksiyonun, yok yok “Command”ın to ve end kelimeleri arasında tanımlandığını gördüm. Eh, buna da pek fazla şaşırmadım. Ayrıca fonksiyonlara argüman aktarmak da ( ) arasına yazmak falan değil direk yazmakla oluyor. Yani tam bir okunabilirlik katliamı! Neyse bunu da geçelim. Sonraki gördüğüm komut “ask” ilk gördüğümde koşullu ifadelerle alakalı bir şey olduğundan tut da fonksiyon çağırmaya ya da tanımlamaya yaradığını bile düşünmüştüm. Bundan dolayı bu “ask” komutunun dizi içindeki elemanları sırayla gezmeye yarayan foreach gibi bir şey olduğunu öğrenince biraz da olsa şaşırdım.
Buraya kadar olan izlenimlerim NetLogo’dan iğrenmeme yol açmaya başlamıştı. Ama ben yine de devam ettim. Sonra “turtle” denilen nesnenin “forward” komutuyla ilerlediğini fark edince derin bir “ooooohaaaaaa” kopardım yüreğimin derinliklerinden. Çünkü bu bana şunu ifade etmişti: “Bu dil hareketli nesnelerin benzetimini yapmak için icat edilmiş olmalı”. Diğer dillerde bunu yapmak benim için tam bir işkence. Diğerleri için de zor olmalı. Ama NetLogo öyle mi! Bi tanedir o. Benden söylemesi.
Buraya kadar bir şey biliyormuş gibi ukalaca atıp tuttum. Adamların üşenmeyip yaptığı NetLogo’ya laf söyledim. Umarım bana sinir olmamışsınızdır. Çünkü bu yazıyı gerçekten de eğlenmek ve yer doldurmak için yazdım. Bir dahaki yazıda görüşmek üzere…