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