Mümkün görünebilir ancak tamamen işlevsel bir programlama olmayacak. Zorunlu programlama ile sonuçlanabilir.
Haylem'in dediği gibi olası işlevsel programlamayı neden kastettiğini sormak yok . İşte burada:
"İşlevsel programlama" ve "mümkün" ile ne demek istediğinizi belirler.
İşlevsel programlama farklı tanımlara veya anlamlara sahip olamaz, ancak birçok açıklaması olabilir.
OOP gibi, "OOP ile ne demek istiyorsun?" Diye sorabilir miyiz?
Kesinlikle çok fazla açıklama olacak ancak bu sadece OOP'un hedefi olan tek bir amaç için geçerli olacak.
Aynısı fonksiyonel programlama için de geçerlidir .
Fonksiyonel anlam dediğimiz zaman programlar fonksiyonlardan oluşur.
İşlevlerin rolü, değerlendirilen bir argüman / parametre döndürmektir (argüman değişkendir; işlev çağrılırken parametre, işlev bildiriminin bir parçası olan değişken iken).
Ayrıca aynı argümanlar iletildiğinde işlevler her zaman aynı sonucu verir. Bu şekilde, böcekleri önlemek veya gelecekteki böcekleri hata ayıklamak daha kolaydır. Fonksiyonel programlama ile global değişkeni değiştirmek gibi yan etkilerden kaçınabiliriz.
JavaScript’teki örnek:
function increment(lis){
return lis.map(
function (x){
return x+2;
}
);
}
var myList = [4, 7, 2, 3];
console.log(increment(myList));
console.log(myList);
İşlev artışı, nesnenin içindeki her bir öğeye 1 değer ekler ve sonucu döndürür. MyList'in değeri değişmedi, ancak işlevleri çağırdığımızda o nesnenin öğelerine katma değeri gördük.
İşlevsel Programlamaya cevabım Java ile mümkün mü? , Java'da gerçek işlevsel programlamanın mümkün olmadığına inanıyorum. Çünkü java, zorunlu programlamayı genişlettiği ve bakım kolaylığı için geliştirdiği OOP olarak tasarlandı. Bir nesnenin durumu, değişken vb. Değiştiğinde, bu zaten zorunlu bir programlamadır.