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