Це може здатися можливим, але це не буде чистим функціональним програмуванням. Це може призвести до імперативного програмування.
Немає запитань, чому він має на увазі під можливим функціональним програмуванням, про яке згадує хайлем. Ось:
Це залежить від того, що ви маєте на увазі під «функціональним програмуванням» та під «можливим».
Функціональне програмування не може мати різні визначення або значення, хоча воно може мати багато пояснень.
Як і OOP, ми можемо запитати "що ви маєте на увазі під OOP?".
Однозначно пояснень буде багато, але це стосуватиметься лише однієї мети, цілі ООП.
Те саме стосується функціонального програмування .
Коли ми говоримо функціональне значення, програми складаються з функцій.
Роль функцій полягає у поверненні оцінюваного аргументу / параметра (аргумент змінний - це вираз, що прийшов при виклику функції, тоді як параметр - мінливий, який є частиною оголошення функції).
Також функції завжди будуть повертати той самий результат, коли передаються ті ж аргументи. Таким чином легше уникнути помилок або налагодити майбутні помилки. За допомогою функціонального програмування ми можемо уникнути таких побічних ефектів, як модифікація глобальної змінної.
Приклад у 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);
Приріст функції додає 1 значення кожному елементу всередині об'єкта і повертає результат. Значення myList не змінилося, але коли ми викликаємо функції, ми побачили додану цінність для елементів цього об’єкта.
Як моя відповідь на те, чи можливо на Java функціональне програмування? , Я вважаю, що справжнє функціональне програмування в java неможливо. Оскільки java справді розроблена як OOP, в якій вона розширює імперативне програмування та вдосконалює її для ремонту. Коли стан об'єкта, змінної тощо змінився тоді, це вже імперативне програмування.