यह संभव लग सकता है लेकिन यह शुद्ध कार्यात्मक प्रोग्रामिंग नहीं होगा। यह अनिवार्य प्रोग्रामिंग के लिए परिणाम हो सकता है।
वहाँ कोई पूछ नहीं है कि क्यों वह संभव कार्यात्मक प्रोग्रामिंग से मतलब है जैसा कि हेयरम द्वारा उल्लेख किया गया है। यह रहा:
यह निर्भर करता है कि आप "कार्यात्मक प्रोग्रामिंग" और "संभव" से क्या मतलब है।
कार्यात्मक प्रोग्रामिंग की अलग-अलग परिभाषाएं या अर्थ नहीं हो सकते हैं, हालांकि इसके कई स्पष्टीकरण हो सकते हैं।
OOP की तरह, क्या हम पूछ सकते हैं "OOP से आपका क्या मतलब है?"।
निश्चित रूप से बहुत सारे स्पष्टीकरण होंगे लेकिन यह सिर्फ एक उद्देश्य, ओओपी के उद्देश्य से संबंधित होगा।
यही क्रियात्मक प्रोग्रामिंग पर लागू होता है ।
जब हम कहते हैं कि कार्यात्मक का अर्थ है कि कार्यक्रम कार्य करते हैं।
कार्यों की भूमिका एक मूल्यांकन किए गए तर्क / पैरामीटर को वापस करना है (तर्क चर है जो फ़ंक्शन को कॉल करते समय अभिव्यक्ति आया है जबकि पैरामीटर चर है जो फ़ंक्शन घोषणा का एक हिस्सा है)।
साथ ही फ़ंक्शन हमेशा उसी परिणाम को लौटाएगा जब समान तर्क पास हो जाएंगे। इस तरह से बग्स से बचना आसान है या भविष्य के बग को डिबग करना आसान है। कार्यात्मक प्रोग्रामिंग द्वारा हम वैश्विक चर को संशोधित करने जैसे दुष्प्रभावों से बच सकते हैं।
जावास्क्रिप्ट में उदाहरण:
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 मान जोड़ता है और परिणाम लौटाता है। माईलिस्ट का मूल्य नहीं बदला लेकिन जब हम उन कार्यों को कहते हैं तो हमने उस वस्तु के तत्वों में जोड़ा मूल्य देखा।
मेरी प्रतिक्रिया के रूप में जावा में कार्यात्मक प्रोग्रामिंग संभव है? , मेरा मानना है कि जावा में सच्ची कार्यात्मक प्रोग्रामिंग होना संभव नहीं है। क्योंकि जावा वास्तव में OOP होने के लिए डिज़ाइन किया गया है जिसमें यह अनिवार्य प्रोग्रामिंग का विस्तार करता है और इसे स्थिरता के लिए बेहतर बनाता है। जब एक वस्तु, परिवर्तनशील आदि की स्थिति बदल गई है, तो वह पहले से ही एक अनिवार्य प्रोग्रामिंग है।