सबसे पहले, 2 अवधारणाओं के लिए रूढ़िवादी होने का क्या मतलब है?
इसका अर्थ है कि दो अवधारणाओं में विपरीत विचार नहीं हैं या एक दूसरे के साथ असंगत नहीं हैं।
एफपी यथासंभव अपरिवर्तनीयता और शुद्धता को प्रोत्साहित करता है। और OO कुछ ऐसा लगता है जो राज्य और उत्परिवर्तन (अनिवार्य प्रोग्रामिंग का थोड़ा संगठित संस्करण?) के लिए बनाया गया है। और मुझे एहसास है कि वस्तुएं अपरिवर्तनीय हो सकती हैं। लेकिन OO मेरे लिए राज्य / परिवर्तन का अर्थ लगता है।
वे विपरीत दिखते हैं। यह उनकी ऑर्थोगोनलिटी को कैसे प्रभावित करता है?
स्काला जैसी भाषा ओओ और एफपी दोनों को करना आसान बनाती है, क्या इससे 2 विधियों की रूढ़िवादिता प्रभावित होती है?
OO, आवश्यक होने पर, आवश्यक होने पर , सबटाइपिंग के माध्यम से एनकैप्सुलेशन, ऑब्जेक्ट कंपोज़िशन, डेटा एब्स्ट्रैक्शन, पॉलीमॉर्फिज़्म और नियंत्रित म्यूटेशन के बारे में होता है । एफपी फ़ंक्शन रचना, नियंत्रण अमूर्त और विवश बहुरूपता (उर्फ पैरामीट्रिक बहुरूपता) के बारे में है। इस प्रकार दो विचार परस्पर विरोधी नहीं हैं। वे दोनों आपको विभिन्न प्रकार की शक्तियां और अमूर्त तंत्र प्रदान करते हैं, जो निश्चित रूप से एक भाषा में होना संभव है। वास्तव में, यह थीसिस है जिस पर स्काला का निर्माण किया गया था!
गूगल पर अपने स्काला एक्सपेरिमेंट वार्ता में, मार्टिन ओडस्की ने यह अच्छी तरह से बताया कि वह दो अवधारणाओं को कैसे मानते हैं - OO और FP - एक-दूसरे के लिए रूढ़िवादी हैं और कैसे स्काला ने दो प्रतिमानों को सुरुचिपूर्ण ढंग से और निर्बाध रूप से एक नए प्रतिमान में प्रचलित किया, जिसे स्काला समुदाय में लोकप्रिय रूप से जाना जाता है। वस्तु-कार्यात्मक प्रतिमान। आपके लिए बात करते देखना चाहिए। :-)
ऑब्जेक्ट-फंक्शनल भाषाओं के अन्य उदाहरण: ओमेक्एल , एफ # , नेमेर्ले ।