Bölüm 4: Fonksiyonel Programlama
Fonksiyonel programlama, bir programı bir dizi fonksiyon olarak düşünmeyi ve global durum değişikliklerinden kaçınmayı içeren bir programlama paradigmasıdır. Bu bölümde, Crystal dilinde fonksiyonel programlamanın nasıl uygulanacağını ve Ruby ile olan benzerliklerini sade, anlaşılır ve açıklayıcı bir dille öğreniyor olacağız.
4.1 Fonksiyonlar
Crystal dilinde fonksiyonlar, def
anahtar kelimesi ile tanımlanır. Fonksiyonlar, belirli bir işlevi yerine getiren kod bloklarıdır.
Ruby dilinde de fonksiyonlar aynı şekilde def
anahtar kelimesi kullanılarak tanımlanır, bu Crystal'a başlangıç yaparken Ruby bilgisinin avantaj sağlayacağı bir alan.
4.2 İlk Vatandaş Fonksiyonlar (First Class Citizen Functions)
Crystal dilinde, fonksiyonlar "ilk vatandaş"tır, yani bir fonksiyon başka bir fonksiyona parametre olarak geçirilebilir ve bir fonksiyon başka bir fonksiyonu döndürebilir.
Ruby dilinde de lambda ve Proc nesneleri kullanılarak benzer işlevler gerçekleştirilebilir, bu da iki dil arasındaki bir başka benzerliktir.
4.3 Yüksek-Düzey Fonksiyonlar (High-order Function)
Yüksek düzey fonksiyonlar, diğer fonksiyonları parametre olarak alabilen ve/veya bir fonksiyonu sonuç olarak dönebilen fonksiyonlardır.
Ruby dilinde de yüksek düzey fonksiyonlar kullanılarak işlemler gerçekleştirilebilir, bu da Crystal öğrenirken Ruby deneyiminizin size yardımcı olacağı bir diğer noktadır.
4.4 Durumsuzluk ve Yan Etkisizlik (Stateless and no Side Effects)
Fonksiyonel programlama, fonksiyonların durumsuz ve yan etkisiz olmasını önerir. Bu, bir fonksiyonun her zaman aynı girdi için aynı çıktıyı üretmesi gerektiği anlamına gelir.
Ruby'de de aynı prensip geçerlidir, bu da Crystal ve Ruby arasındaki bir diğer benzerlik.
4.5 Sonuç
Bu bölümde, fonksiyonel programlamanın temel prensiplerini ve Crystal dilinde nasıl uygulandığını öğrendik. Aynı zamanda, Crystal dilinin Ruby diline olan benzerliklerini de gördük, bu da Ruby bilgisine sahip olanların Crystal dilini öğrenirken avantaj sağlayacağını göstermektedir.
Last updated