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