Fonksiyonel programlama yapabilmek için önemli bir teknik olan ve Haskell dili sayesinde duymaya başladığımız Monad kavramını evinizde betik diliyle öğrenmek için bir kılavuz.
Monad kullanımı saf fonksiyonel programlama dışında şart olmasa da bu kavramın getirdiği programlama disiplininin öğrenmeye değer olduğu vurgulanıyor. Ufkunuzu biraz daha genişletmek ve ilerde Haskell öğrenirseniz konuya aşina olmak için okuyabilirsiniz.
Monad kullanımı saf fonksiyonel programlama dışında şart olmasa da bu kavramın getirdiği programlama disiplininin öğrenmeye değer olduğu vurgulanıyor. Ufkunuzu biraz daha genişletmek ve ilerde Haskell öğrenirseniz konuya aşina olmak için okuyabilirsiniz.
Demek ki "monad" gibi kimilerine "aman alllaaam, bu çok akademik bir şey olmalı, çok satan O'Reilly kitaplarının hiçbirinde bundan bahsetmiyor demek ki bu çok karışık, demek ki ortalama bir adam olarak ben bunu anlayamam" dedirten terimler Ruby gibi bir dille gayet güzel anlatılabiliyormuş ve insanların da ilgisini çekiyormuş. Acaba programcıların zekâ seviyesi mi artmaya başladı? Yarın öbürgün C# programcılarının bir kısmı anonim fonksiyonlardan, "continuation"lardan, "closure"lardan filan bahsederlerse başımıza taş yağacak demektir. Kendilerini derhal akademinin tozlu arşivlerine kilitlemeliyiz. İşe yarar kod üretmelerini engellemeli ve yazacakları makalelerdeki kaynak kodları da yakmalıyız ki yapacakları sadece işe yaramaz akademik şeyler olarak görünsün ;-)
Bu arada monad demişken, sözüğün kökenine bakmakta ve tüm zamanların en büyük matematikçilerinden ve felsefecilerinden Leibniz'a bir selam yollamakta fayda var.
Ruby'deki monadları okuduktan farklı bir bakış açısı edinmek isteyenler Monads in functional programming makalesini okuyabilirler.