क्या लिनस टोरवाल्ड्स लिनक्स कर्नेल में C++ शुरू करने पर विचार कर सकता है?

अलसी के दाने

लिनस बेनेडिक्ट टोरवाल्ड्स एक सॉफ्टवेयर इंजीनियर हैं, जो लिनक्स कर्नेल के विकास को शुरू करने और बनाए रखने के लिए जाने जाते हैं।

कुछ हफ्ते पहलेहम यहां ब्लॉग पर एक प्रस्ताव के बारे में समाचार साझा करते हैं जिसे व्यवहार्यता के संबंध में कई वर्षों के बाद पुनर्जीवित किया गया है लिनक्स कर्नेल में C++ कोड अपनाने का, एक प्रस्ताव जिसे 2018 में एक मजाक के रूप में लॉन्च किया गया था।

La प्रस्ताव फिर से लॉन्च किया गया कर्नेल मेलिंग सूचियों पर, लेकिन गंभीर तरीके से हंस पीटर अनविन, एक प्रमुख इंटेल कर्नेल डेवलपर और डेवलपर ने लिनक्स में तीसरी प्रोग्रामिंग भाषा के रूप में C++ को शामिल करने की व्यवहार्यता उठाई।

लिनक्स सी++
संबंधित लेख:
Linux पर C++, विषय 6 वर्षों के बाद पुनर्जीवित हुआ है

के परिचय के साथ आराम और लिनक्स, कई डेवलपर्स और समुदाय के हिस्से ने एक अच्छा रास्ता देखा लिनक्स में आगे, साथ ही यह भी अन्य प्रोग्रामिंग भाषाओं को लागू करने के लिए विभिन्न "विचार" सामने आए हैं, C++ को लागू करने का प्रस्ताव एक बार फिर से कई कर्नेल डेवलपर्स के बीच एक बहस खोलता है और यहां तक ​​कि लिनुस टोरवाल्ड्स भी एक बार फिर सबसे निष्क्रिय और समझने योग्य तरीके से बताते हैं कि लिनक्स C++ (व्यंग्य) के लिए तैयार क्यों नहीं है।

हमें यह याद रखना चाहिए कि लिनक्स में रस्ट को एक क्षण से दूसरे क्षण तक स्वीकार नहीं किया जाता थाचूंकि लिनक्स पर रस्ट प्रोजेक्ट (लिनक्स के लिए रस्ट) को शामिल करने के लिए कर्नेल की मुख्य शाखा में स्वीकार किए जाने से पहले लिनस टोरवाल्ड्स ने खुद इसमें कई संशोधन किए थे और यह उल्लेखनीय है कि लिनक्स के जनक कुछ भी नरम नहीं थे संशोधन करते समय और प्रस्तावित परिवर्तनों पर टिप्पणी करते समय।

लेख को विकसित करने से पहले, मुझे यह उल्लेख करना होगा कि लेख की सभी सामग्री इंटरनेट पर मेरे द्वारा पढ़ी गई जानकारी और समाचार की व्याख्या के माध्यम से उत्पन्न एक व्यक्तिगत राय है, इसलिए यह एक पाठक के रूप में आपकी व्याख्या से भिन्न हो सकती है। है। है और यदि आप इसे यहां टिप्पणियों में साझा करना चाहते हैं तो मुझे इसे पढ़ने के लिए समय निकालने में खुशी होगी।

अब कथित मामले में तीसरी प्रोग्रामिंग भाषा के रूप में C++ के प्रस्ताव के मामले में, और मैं कहता हूं "बेशक", कार्यान्वयन को समीक्षाओं की समान श्रृंखला से गुजरना चाहिए, यदि यह रस्ट के लिए उससे भी अधिक कठोर नहीं था। और इसका उल्लेख करने का तथ्य यह है कि C++ और लिनुस का इतिहास छोटा है, लेकिन पहले से ही कई साल पुराना है।

उल्लेख करने का कारण तीसरी लिनक्स भाषा के रूप में C++ का मामला "माना जाता है", ऐसा इसलिए है क्योंकि लिनक्स के जनक, लिनस टोरवाल्ड्स, C++ को अनुकूल रूप से नहीं देखते हैं और न ही देखेंगे।, चूँकि उन्होंने एक से अधिक अवसरों पर प्रत्येक अवसर पर उल्लेख किया है कि C++ "एक भयानक भाषा है।"

जिक्र सेकुछ ऐसे क्षण जिनमें C++ के उपयोग पर विचार किया गया है लिनक्स पर और लिनस टोरवाल्ड्स ने न केवल अपनी असहमति व्यक्त की है, लेकिन C++ के प्रति एक "निश्चित घृणा" जो यह उल्लेख करने के लिए अतिश्योक्तिपूर्ण है कि "यह लिनक्स के लिए एक विकल्प क्यों नहीं है", सबसे हालिया में से एक समीक्षा के दौरान था जंग कार्यान्वयन के बाद से Google पोस्ट पर चर्चा के दौरान, C++ को शामिल करने का सुझाव के रूप में उल्लेख किया गया था:

"यहाँ समाधान सरल है: बस जंग के बजाय C++ का उपयोग करें"

किसको लिनुस टोरवाल्ड्स हँसे बिना नहीं रह सके और उनकी प्रतिक्रिया थी:

"ज़ोर-ज़ोर से हंसना"। «C++ C की किसी भी समस्या का समाधान नहीं करता है और केवल चीजों को बदतर बनाता है, यह वास्तव में एक कचरा भाषा है।

जो लोग सी को पसंद नहीं करते, वे ऐसी भाषा चुनें जो वास्तव में आपको कुछ सार्थक प्रदान करती हो। जैसे मेमोरी-सुरक्षित और "वह" भाषाएँ C के कुछ नुकसानों से बच सकती हैं, या ऐसी भाषाएँ जिनमें आंतरिक GC "कचरा संग्रहण" समर्थन है और मेमोरी प्रबंधन को आसान बनाती हैं। "C++ सभी गलत समस्याओं का समाधान करता है, और जो कोई कहता है कि 'C++ में कोर को फिर से लिखें' वह इतना अज्ञानी है कि उसे यह भी पता नहीं है।"

लिनस टोरवाल्ड्स ने हमेशा C++ को "बेकार" माना है और इसे "बेकार" माना है खैर, "C++, C भाषा की समस्या को बिल्कुल भी हल नहीं कर सकता है, यह केवल चीजों को बदतर बना देगा।" टोर्वाल्ड मेरा मानना ​​है कि जिन लोगों को सी भाषा पसंद नहीं है वे ऐसी भाषा की तलाश कर सकते हैं जो वास्तव में मूल्य जोड़ सके। उदाहरण के लिए, ऐसी भाषाएँ जो मेमोरी सुरक्षित हैं और C (जैसे रस्ट) के कारण होने वाले छिपे खतरों से बच सकती हैं।

C++ की तुलना में, लिनस ने उल्लेख किया है कि C उसकी मानक पसंद क्यों है:

"जब लोग सी के कारण होने वाले खतरों के बारे में बात करते हैं, तो वे उस कारण के बारे में भी बात करते हैं कि सी इतना शक्तिशाली क्यों है: 'यह आपको इन सभी निम्न-स्तरीय चीजों को कुशलतापूर्वक लागू करने की अनुमति देता है,'' लिनुस ने कहा। इसके अलावा, हालांकि जीसी ज्यादातर मामलों में प्रोग्रामिंग को सरल बनाने के लिए अच्छा है, यह आम तौर पर ऐसा कुछ नहीं है जिसे निम्न-स्तरीय सिस्टम प्रोग्रामिंग में किया जा सकता है।

वास्तव में, मेलिंग सूचियों पर इसका उल्लेख किया गया है 1992 में किसी समय Linux पर C++ का उपयोग करने का प्रयास किया गया था (लिनक्स के जन्म के लगभग एक साल बाद), लेकिन टोरवाल्ड्स के बाद से यह केवल "एक प्रयास" बनकर रह गया इस प्रयास का उल्लेख करें:

यह बहुत बुरा है। मेरा विश्वास करें: C++ में कर्नेल कोड लिखना एक मूर्खतापूर्ण विचार है।

तथ्य यह है कि C++ कंपाइलर अविश्वसनीय हैं। 1992 में वे और भी बदतर थे, लेकिन कुछ बुनियादी तथ्य नहीं बदले हैं:

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

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

"C++ वास्तव में खराब डिज़ाइन विकल्पों की ओर ले जाता है। आप हमेशा एसटीएल और बूस्ट जैसी "अच्छी" भाषा लाइब्रेरी सुविधाओं और अन्य पूर्ण और पूरी तरह से कचरा का उपयोग करना शुरू कर देते हैं, जो आपके प्रोग्राम को "मदद" कर सकते हैं, लेकिन कारण:

जब वे काम नहीं करते हैं तो अंतहीन मात्रा में दर्द होता है (और जो कोई भी मुझे बताता है कि एसटीएल और विशेष रूप से बूस्ट स्थिर और पोर्टेबल हैं, वह इतनी बकवास से भरा है कि यह हास्यास्पद भी नहीं है)
"अक्षम अमूर्त प्रोग्रामिंग मॉडल जहां दो साल बाद आप देखते हैं कि कुछ अमूर्तता बहुत कुशल नहीं थी, लेकिन अब आपका सारा कोड इसके आस-पास के सभी सुंदर ऑब्जेक्ट मॉडल पर निर्भर करता है, और आप अपने एप्लिकेशन को दोबारा लिखे बिना इसे ठीक नहीं कर सकते।"

इसलिए, प्रकाशन के शीर्षक पर लौटते हुए और लिनुस टोरवाल्ड्स की C++ के प्रति नफरत के हिमखंड के सिरे को पहले से ही समझ लेने के बाद, बहुत अधिक जांच करना आवश्यक नहीं है टोरवाल्ड्स के लिए, लिनक्स को किसी अन्य भाषा की आवश्यकता नहीं है क्योंकि C पर्याप्त है और इस पूरे समय में C वह भाषा है, रही है और रहेगी जो उसके काम के अनुकूल है और लिनुस उन प्रोग्रामिंग भाषाओं पर हमला करना जारी रखेगा जो उसे पसंद नहीं हैं, विशेष रूप से C++।

और यह कई कारणों में से एक कारण है कि C++ पर विचार ही नहीं किया जाता है लिनक्स के लिए, क्या यह अपवादों की अनुमति देता है, जबकि रस्ट को C पसंद नहीं है कर्नेल प्रोग्रामिंग में, इसकी अनुमति नहीं दी जा सकती एक ध्यान में न आया अपवाद ऑपरेटिंग सिस्टम को अक्षम कर सकता है, और आपको कर्नेल के कभी विफल होने के बारे में सोचना भी नहीं चाहिए।

Y "माना" में यह दिया गया है कि टोरवाल्ड्स C++ पर विचार करने लगे linux पर, यह लाभ से कहीं अधिक हो सकता है तीसरी या अधिक प्रोग्रामिंग भाषाओं का समावेश, एक समस्या बन जाएगी, उदाहरण के लिए कार्यान्वयन के साथ जंग में फिलहाल कुछ दिक्कतें सामने आने लगी हैं, जैसे कि जिनके बारे में हम पहले ही एक प्रकाशन में उल्लेख कर चुके हैं लिनक्स पर रस्ट की वर्तमान स्थिति।

Linux पर रस्ट ड्राइवर
संबंधित लेख:
लिनक्स पर जंग: प्रगति, चुनौतियाँ और वर्तमान स्थिति

लेख में हमने वर्तमान चुनौतियों में से एक का उल्लेख किया है «कोड के लिए अधिक समीक्षकों की भर्ती करें जिसे विकसित किया जा रहा है" इसके अतिरिक्त जीसीसी-आधारित रस्ट कंपाइलर की प्रगति धीमी हो गई है, बहुतइस बात की बहुत कम संभावना है कि वे कर्नेल के बड़े हिस्से को रस्ट में फिर से लिखेंगे अल्पावधि और यहां तक ​​कि बहुत कम संभावना है कि वे सभी प्रकार की त्रुटियों और विशेष रूप से संगतता समस्याओं को पेश किए बिना ऐसा कर सकते हैं।

यदि ये समस्याएँ, जो रस्ट में परिलक्षित हो रहा है हम उन्हें C++ या किसी अन्य भाषा में जोड़ते हैं जिसे Linux में जोड़ा जा सकता है, कर्नेल विकास बहुत प्रभावित होगा और इसके साथ शुरुआत में हमें हर दो महीने में एक संस्करण प्राप्त नहीं होगा, बल्कि यह लंबे संस्करणों के बीच का विकास होगा, अधिक डेवलपर्स, अधिक समीक्षकों की आवश्यकता होगी और यह सब अधिक प्रयास में तब्दील हो जाएगा।

बिना किसी संदेह के, C++ को तीसरी प्रोग्रामिंग भाषा के रूप में पेश करने के दृष्टिकोण पर अभी विचार नहीं किया जा रहा है और जैसा कि हमने पहले ही उल्लेख किया है, इसमें मुख्य बाधाओं में से एक लिनस टोरवाल्ड्स स्वयं हैं।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।