Page 23 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 23
Java’da Fonksiyonel Programlama | 23
’
JAVA’DA
J AVA D A Giriş
FONKSİY ONEL Fonksiyonel programlama, fonksiyonlar kullanarak program tasarlama
FONKSİYONEL
modelidir. Obje tabanlı Programlama modeline göre güçlü ve zayıf oldu-
ğu yönler bulunur. Sektörde oldukça popüler ve aslında obje tabanlı olan
Java programlama diline; Java 8 sürümüyle birlikte, fonksiyonel program-
lama konseptlerini uygulamamıza imkân tanıyan yenilikler eklenmiştir. Bu
sayede hem obje tabanlı programlama hem de fonksiyonel programla-
manın iyi yönleri harmanlanarak daha verimli uygulamalar tasarlanabilir
hale gelmiştir.
Java’da fonksiyonel programlama araçları; pratik işlevler yazmada, oku-
mada oldukça kolaylık sağlamaktadır. Karmaşık döngüler Stream API
sayesinde sade bir hale getirilebilir; birçok yerden çağırılabilecek fonk-
siyonel arayüzler kullanılarak bazı kontroller ve işlevler; kolay okunabilir,
debug ve test edilebilir, yönetilebilir şekilde yazılabilmektedir.
Bu faydaların her birinin çalışma prensibi ayrı ayrı açıklanmış ve anlaşıl-
ması için kod örnekleri ve çıktıları belirtilmiştir. Güncel sürümü kullanma
imkânı olmayan öğrenci ve çalışanlar için yarar sağlayacağı düşünülerek
bu çalışma hazırlanmıştır.
Türkçe bir kaynak yazılması ve araştırma dolayısı ile artan bilgi birikiminin,
sektördeki çalışanlar arasındaki etkileşimle yayılarak bilgi hazinesinin bir
parçası haline gelmesi, yeni başlayan yazılımcıların entegrasyonunu ko-
laylaştıracak ve eski çalışanları daha fazla öğrenmeye teşvik edecektir.
Bu çalışma Java 8’de eklenen yenilikler olan fonksiyonel arayüzleri, lam-
da işaretini ve Stream API’yi kapsamaktadır. Fonksiyonel programlama
tanımlanacak, fonksiyonel programlama ve obje tabanlı programlamanın
farklarından bahsedilecek, Java’ya yeni eklenmiş özellikler ve bu özellikle-
ri kullanarak fonksiyonel programlama mantığına uygun işlemler yapmak
için örnekler listelenecektir. Bu bağlamda; fonksiyonel programlama hak-
kında farkındalık yaratarak Java dilinde fonksiyonel programlama mantı-
ğına uygun kodlar yazmayı öğrenmek ve uygulamak isteyenler için kolay
anlaşılabilir bir kaynak sunma hedeflemektedir.