Ini mungkin tampak mungkin tetapi itu tidak akan menjadi pemrograman fungsional murni. Mungkin menghasilkan pemrograman imperatif.
Tidak ada yang bertanya mengapa dia maksud dengan pemrograman fungsional yang mungkin seperti yang disebutkan oleh haylem. Ini dia:
Itu tergantung apa yang Anda maksud dengan "pemrograman fungsional" dan "mungkin".
Pemrograman fungsional tidak dapat memiliki definisi atau makna yang berbeda walaupun mungkin memiliki banyak penjelasan.
Seperti OOP, dapatkah kita bertanya "apa yang Anda maksud dengan OOP?".
Pasti akan ada banyak penjelasan tetapi hanya akan berkaitan dengan satu tujuan, yaitu tujuan OOP.
Hal yang sama berlaku untuk pemrograman fungsional .
Ketika kami mengatakan makna fungsional, program terdiri dari fungsi.
Peran fungsi adalah untuk mengembalikan argumen / parameter yang dievaluasi (argumen adalah variabel adalah ekspresi yang datang saat memanggil fungsi sementara parameter adalah variabel yang merupakan bagian dari deklarasi fungsi).
Juga fungsi akan selalu mengembalikan hasil yang sama ketika argumen yang sama dilewatkan. Dengan cara itu lebih mudah untuk menghindari bug atau men-debug bug masa depan. Dengan pemrograman fungsional kita dapat menghindari efek samping seperti memodifikasi variabel global.
contoh dalam JavaScript:
function increment(lis){
return lis.map(
function (x){
return x+2;
}
);
}
var myList = [4, 7, 2, 3];
console.log(increment(myList));
console.log(myList);
Peningkatan fungsi menambahkan 1 nilai ke setiap elemen di dalam objek dan mengembalikan hasilnya. Nilai myList tidak berubah tetapi ketika kita memanggil fungsi kita melihat nilai tambah untuk elemen objek itu.
Sebagai tanggapan saya terhadap Apakah Pemrograman Fungsional dimungkinkan di Jawa? , Saya percaya bahwa tidak mungkin untuk memiliki pemrograman fungsional yang benar di java. Karena java benar-benar dirancang untuk menjadi OOP di mana ia memperluas pemrograman imperatif dan memperbaikinya untuk pemeliharaan. Ketika keadaan objek, variabel dll, telah berubah, itu sudah merupakan pemrograman imperatif.