H­a­s­k­e­l­l­ ­P­r­o­g­r­a­m­c­ı­s­ı­ ­T­a­r­i­k­a­t­ı­n­ı­n­ ­İ­ç­i­n­d­e­

H­a­s­k­e­l­l­ ­P­r­o­g­r­a­m­c­ı­s­ı­ ­T­a­r­i­k­a­t­ı­n­ı­n­ ­İ­ç­i­n­d­e­

Aynı zamanda, Haskell'in neden kullanılandan daha çok hayranlık duyulan bir dil olarak görüldüğünü ve hala da öyle olduğunu hemen anladım. En temel kavramlarından biri olan “monad” bile açıklayıcılar, analojiler ve videolardan oluşan küçük bir endüstri doğurdu. Google tarafından otomatik olarak tamamlanacak kadar ünlü, faydasız olduğu bilinen bir açıklama şu şekildedir: “Monad, endofonktörler kategorisindeki bir monoidden başka bir şey değildir.”

Dil ayrıca keşfedilmekten çok küçümseniyor. Geçmişin popüler huysuz blog yazarı Steve Yegge, bir keresinde şöyle yazmıştı: hiciv yazısı Haskell topluluğunun en sonunda “Haskell'i önemseyen endüstri programcısını” nasıl bulmayı başardığı hakkında. Yegge gibi programcılar için Haskell, endüstriye uygulanabilirliği az olan, aşırı entelektüelleştirilmiş, pratik olmayan bir tür dilin simgesidir.

Ancak Yegge'in anlamadığı şey Haskell'i kullanmanın nadiren pragmatik bir karar olduğuydu. Bu entelektüel, hatta estetik bir yaklaşımdır. Özünde, Haskell'in Charlie Kaufman'ın filmleriyle diğer programlama dillerinden daha fazla ortak yanı var: son derece serebral, büyüleyici derecede sıra dışı ve tuhaf bir şekilde zevkli; bilenler tarafından takdir edilir ve dışarıdakiler tarafından iddialı olarak değerlendirilir. Haskell'in bir kült klasik olduğu söylenebilir.

Haskell asla Yaygın bir şekilde benimsenmesi, yazılım mühendisliğindeki paradoksal bir gerçeği örnekliyor: Harika programlama dilleri, programlama için her zaman mükemmel değildir.

Haskell'in öğrenilmesi C gibi bir dilden daha zor değildir ancak iki dil farklı zorluklar doğurur. C dilinde yazmak, hassas mühendisliğe benzer ve yetenekli bir horologdan beklenen türde dikkat gerektirir. Ancak Haskell kodu aslında kod şeklindeki matematiksel ifadelerdir. C mükemmel bir mühendis dilidir. Haskell saf bir matematikçidir.

İyi bir mühendisin ve iyi bir matematikçinin yetenekleri her zaman örtüşmez. Sektörün pek de iyi korunmayan sırrı, çoğu programcının matematik veya mantık konusunda düşündüğünüz kadar iyi olmamasıdır. Bu çoğunlukla iyidir. Sonuçta pek çok doktordan zayıf moleküler biyologlar çıkar, çok az sayıda avukat hukuk felsefecisidir ve MBA'lıların büyük çoğunluğu ekonometri hakkında hiçbir şey bilmez. Ancak bu, çok az programcının Haskell'de gerçekten ustalaşabileceği anlamına geliyor. Buna elbette “F-coalgebra” ve “typeclass metaprogramming” gibi ifadeler karşısında bacakları zayıflayan ben de dahilim.

Yine de Haskell'i düşündüğümde Martin Amis'in düzyazısıyla ilgili bir cümle geliyor aklıma: “üsluba maddeden çok öncelik veriyor.” Haskell programcıları stil üstünlüğü savunucularıdır ve bu için özür dilenecek bir şey yoktur. Genellikle yararlılık ve amaca odaklı bir endüstride Haskell topluluğu, yararlılığına dair kanıt toplamak zorunda hissetmemelidir. Bunun yerine basitçe şöyle cevap vermelidir: Yararsız entelektüel egzersizlerin sorunu nedir?

Çünkü işe yaramaz egzersizlerin özelliği, uzun süre yararsız kalmamalarıdır. “Endüstri programcıları” Haskell'den uzak durduğunda bile dil tasarımcıları bunu dikkate aldı. Son yıllarda Haskell tarzı bir paradigma, sunduğu çok sayıda fayda nedeniyle moda oldu: belirli hata kategorilerini tasarım gereği imkansız hale getirmek, bir programın doğruluğunu daha kanıtlanabilir hale getirmek ve kolay paralel hesaplamayı mümkün kılmak. Zorunlu dillerin yeni sürümlerinde yer alan ve en çok beklenen güncellemelerden bazıları, işlevsel programlamadan ilham alan güncellemelerdir. Sonunda Backus'un von Neumann karşıtı savunması duyuldu. Programlama özgürleştirildi.

Kaynak bağlantısı

Popular Articles

Latest Articles

Other Articles