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