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