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