F# ile Fonksiyonel Programlama Kitabı

Yazım Süreci

Posted by Ali Özgür on November 23, 2017
Yazılım geliştirme profesyonelleri, fonksiyonel programlama kavramlarına ve ilkelerine ağır akademik yönleri ve ihtiyaç duyulan matematiksel alt yapı nedeni ile genelde çok mesafeli yaklaşırlar. Ben de 17 yılı bulan profesyonel kariyerimin bazı dönemlerinde fonksiyonel programlamaya ilgi duymama rağmen kimi zaman tembellikten kimi zaman da incelediğim fonksiyonel programlama dilinin aşırı matematiksel yaklaşımı ve kısıtlamaları nedeni bu mecarada kendimden istediğim verimi alamadım.

Ancak, 3-4 yıl önce Bilgi Üniversitesindeki bir projemizde gündeme gelen HTML sayfalardaki verilerin ayıklanması ve yapısal olarak ilişkisel veri tabanında saklanması ihtiyacı nedeni ile aslında ilk günden beri varlığından haberdar olduğum ve ilk versiyonunu da belirli bir seviyeye kadar incelediğim F# ile bu işi yapmayı denemek istedim.

O sıralar F#’ın 3.0 versiyonu yayınlanmıştı ve 1.0 versiyonundan bu yana dile eklenen yeni yapılar ve Visual Studio gibi editörlerin sağladığı gelişmiş imkanlar ilk deneyimim sırasında pozitif olan hislerimin hayranlık seviyesine sıçramasına neden oldu. Bu proje sürecinde beni en çok şaşırtan konulardan birisi de JavaScript dışında (ki JavaScript’in fonksiyonel dil olup olmadığı tartışmalı bir konudur) ciddi anlamda fonksiyonel dil tecrübem olmamasına rağmen F#’ın basit söz dizimi kurallarını ve List modülünü öğrenip proje isterlerini bir hafta gibi kısa bir sürede getirebilmem oldu. F# ile kısa bir öğrenme aşamasından sonra etkili bir şekilde sade, şık, anlaşılabilir ve oldukça kısa kod yazmanın mümkün olduğunu deneyimlediğim o süreçten sonra F#’ın derinliklerine inip büyük bir heyecan ve öğrenme isteği ile diğer F# yapılarını incelemeye ciddi zaman harcamaya karar verdim.

F# İle Fonksiyonel Programlama kitabı aşağı yukarı 3 yıllık öğrenme, özümseme ve sayfalarca notun ve hepsinden önemlisi keyifli bir öğrenme sürecinin sonucu olarak ortaya çıktı. F# ile ilgili bir kitap oluşturma fikri derine inmeye karar verdiğim ilk andan itibaren aklımın bir kenarında hep vardı. Bu nedenle, kendi öğrenme deneyimimde olabildiğince çok not almaya ve konular arasında öğrenmeyi kolaylaştırıcı ilişkileri kurmaya özel bir çaba gösterdim. Nihayet 2017 yılının 5 Eylül günü zamanın artık geldiğini ve F# için duyduğum heyecan ve hayranlığı sizlerle de paylaşmam gerektiğine karar verdim. Paylaşma isteği, F#’a karşı duyduğum hayranlık, fonksiyonel programlama ile ilgili kapsamlı bir Türkçe kitabın olmaması motive edici unsurların sağladığı ivme ile kitabın ilk üç bölümünü (kitabın bitmiş hali dokuz bölümden oluşuyor) 25 Eylül’de ön izleme versiyonu olarak herkese açık bir şekilde paylaştım. İlk üç bölüm için çok güzel geri bildirimler ve motive edici paylaşımlar aldım, yeri gelmişken bu bölümleri inceleyen herkese teşekkür etmek isterim. Takip eden 25 günlük sürede geri kalan altı bölüm de tamamlanarak nihayet 17 Ekim’de editöryal düzenleme aşamasına geçebildik. Kitap yayınlamanın en zorlu süreci olan editöryal süreçte 1050 adet kendi aldığım not ve editörümün ilettiği düzeltmeleri de hızlıca tamamlayarak nihayet F# ile Fonksiyonel Programlama kitabının tam halini sizinle paylaşabiliyoruz.

Kitabın yazılım geliştirme, kodlama veya mühendislik alanlarında eğitim gören öğrencilere ve meslektaşlarıma faydalı olmasını aynı zamanda fonksiyonel programlama ile ilgili Türkçe kaynak eksikliğini bir nebze de olsa gidermesini diliyorum. Hepinize keyifli okumalar…

Kitabı Nasıl Edinebilirim?

  1. Kitabı 10 TL karşılığında Dikeyeksen.com üzerinden e-kitap olarak satın alabilirsiniz.

  2. Kitabın ilk üç bölümünü ücretsiz olarak PDF formatında indirebilirsiniz

  3. Kitabı online olarak HTML formatında aliozgur.net üzerinden de okuyabilirsiniz.

  4. Kitabın içindeki kod örneklerini GitHub Deposu üzerinden inceleyebilirsiniz.


Bu yazıyı beğendiyseniz Twitter’da takipçilerinizle paylaşabilir veya beni Twitter’da takip edebilirsiniz.