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