आदरणीय परंतु आळशी C++ ची जागा घेण्याच्या प्रयत्नात, Google संशोधकांनी कार्बन डब केलेली एक अगदी नवीन "प्रायोगिक" मुक्त स्रोत प्रोग्रामिंग भाषा सादर केली आहे.
कार्बन ही C++ ची उत्तराधिकारी भाषा म्हणून काम करू शकते, जी मेमरी सुरक्षा आणि जेनेरिक सारख्या समकालीन विकास संकल्पनांना संबोधित करणार्या नवीन भाषेसाठी विकसकांना एक सोपा प्रारंभिक बिंदू प्रदान करते.
हे जावामधील कमकुवतपणा मजबूत करण्यासाठी JavaScript आणि Kotlin अद्यतनित करण्यासाठी Microsoft ने Typescript कसे तयार केले आहे.
Google ने वर्षभरात अनेक प्रोग्रामिंग भाषा विकसित केल्या आहेत, ज्यापैकी काहींनी लक्षणीय प्रसिद्धी आणि महत्त्व प्राप्त केले आहे.
उदाहरणार्थ, गोलांग (किंवा फक्त गो) सर्व्हर आणि वितरण प्रणाली तयार करणे सुलभ करण्यासाठी विकसित केले गेले आणि नंतर सामान्य लोकांद्वारे स्वीकारले गेले.
द डार्ट प्रोग्रामिंग भाषा, जे JavaScript पर्याय म्हणून तयार केले गेले होते, ते फ्लटर लाँच होईपर्यंत प्रसिद्ध झाले नाही.
चँडलर कॅरुथ या Google चे कर्मचारी यांनी 19 जुलै 2022 रोजी टोरंटो येथील Cpp नॉर्थ अधिवेशनात कार्बन नावाच्या नवीन प्रोग्रामिंग भाषेसाठी आपली कल्पना मांडली. Conor Hoekstra त्यानुसार, ज्यांनी हजेरी लावली आणि स्लाइड्स रेकॉर्ड केल्या.
परिस्थिती सेट करण्यासाठी, कॅरुथने हे दाखवून दिले की सध्याच्या काळातील अनेक लोकप्रिय प्रोग्रामिंग भाषांचे वंशज आहेत जे विकसकांना त्वरेने उत्पादक बनण्यास सक्षम करतात आणि समकालीन भाषा डिझाइनचा फायदा देखील करतात.
कार्बन प्रोग्रॅमिंग भाषेच्या वैशिष्ट्यांसह, Google च्या शोधाचा उद्देश आणि बरेच काही यासह, सामान्य परिचयाने सुरुवात करूया.
कार्बन प्रोग्रामिंग भाषेचा परिचय
19 जुलै 2022 रोजी, Google ने कार्बन ही नवीन प्रोग्रॅमिंग भाषा तयार केली आहे. हे C++ प्रायोगिकरित्या पुनर्स्थित करण्याचा हेतू होता.
आ जेनेरिक प्रणाली, जे प्रत्येक इन्स्टंटिएशनसाठी कोड दोनदा तपासण्याची गरज दूर करते, कार्बन आधुनिक प्रोग्रामिंग संकल्पनांच्या पायावर तयार केला जाईल.
वर्षाच्या अखेरीस, डिझाइनची मूलभूत ऑपरेशनल आवृत्ती (आवृत्ती 0.1) प्रदान करण्याची योजना आहे.
मेमरी अखंडता हा एक महत्त्वाचा घटक आहे जो C++ गहाळ आहे. सुरक्षा त्रुटींच्या प्राथमिक स्त्रोतांपैकी एक म्हणजे मेमरी ऍक्सेस समस्या.
डायनॅमिक बाउंड चेकचा विकास, सुरु न केलेल्या राज्यांचा अधिक मागोवा घेणे आणि संपूर्ण डीफॉल्ट डीबग बिल्ड मोड ही कार्बन टीमची सर्व उद्दिष्टे आहेत. निर्मात्यांचा कालांतराने सुरक्षित कार्बन उपसंच तयार करण्याचा मानस आहे.
तथापि, नवीन प्रोग्रामिंग भाषेची काही महत्त्वपूर्ण वैशिष्ट्ये खालीलप्रमाणे आहेत:
- प्रकारांना नाव देण्यासाठी, अभिव्यक्ती वापरा.
- व्याख्या तपासणीसह मजबूत जेनेरिक
- प्रकार विशेषतः इंटरफेस चालवतात
- परिचय वाक्ये आणि मूलभूत व्याकरण
- पॉइंटर अनिर्बंध प्रवेश आणि उत्परिवर्तनासाठी परवानगी देतात.
- फंक्शन इनपुट पॅरामीटर्सची मूल्ये केवळ वाचनीय आहेत.
- रूट नेमस्पेस हे पॅकेज आहे.
- API त्यांच्या पॅकेजची नावे वापरून आयात केले जाऊ शकतात.
- एखादी पद्धत स्पष्ट ऑब्जेक्ट पॅरामीटरद्वारे घोषित केली जाते.
- वर्ग डीफॉल्टनुसार अंतिम आहेत; फक्त एकच वारसा आहे
कार्बनची वैशिष्ट्ये
आधुनिक आणि विकसनशील
- कार्बन आवृत्त्यांमधील अपग्रेड सोपे आणि टूल-आधारित आहेत.
- सशक्त भाषेचा आधार, विशेषतः जर तुम्ही C++ वापरला असेल आणि शिकण्यास सोपे असेल
- सुरक्षित पाया आणि मेमरी-सुरक्षित उपसंचासाठी चरण-दर-चरण दृष्टीकोन
मुक्त स्रोत समुदायाचे स्वागत
- एक समुदाय जो उबदार, स्वीकारणारा आणि आमंत्रित करण्याचा प्रयत्न करतो
- त्याची उद्दिष्टे आणि प्राधान्यक्रम वेगळे आणि मजबूत प्रशासन आहेत
- कंपाइलर, लायब्ररी, डॉक्युमेंटेशन, टूल्स, पॅकेज मॅनेजमेंट आणि अधिकसह सर्व-इन-वन धोरण
C++ सह जलद आणि सुसंगत
- सोबत काम करा सी ++ कोड तुमच्याकडे आधीपासून वारसा आणि टेम्पलेट्स समाविष्ट आहेत
- LLVM सह, C++ शी तुलना करता येणारी कामगिरी आणि बिट्स आणि पत्त्यांसाठी निम्न-स्तरीय प्रवेश
- तुमच्या विद्यमान C++ बिल्ड सिस्टमशी जलद आणि स्केलेबल आणि सुसंगत बिल्ड
Google ने कार्बन प्रोग्रामिंग भाषा का तयार केली?
कार्यप्रदर्शन-गंभीर सॉफ्टवेअर बहुतेक C++ मध्ये लिहिले जात आहे, ज्यात प्रचंड आणि विस्तारणारे कोडबेस आणि गुंतवणूक आहे.
तथापि, वर नमूद केल्याप्रमाणे विकासकांच्या मागण्या पुढे नेण्यात आणि त्यांची पूर्तता करण्यात अडचण येत आहे, मुख्यत्वे अनेक वर्षांच्या तांत्रिक कर्जामुळे.
C++ मध्ये वाढीव सुधारणा करणे अत्यंत अवघड आहे कारण त्यावर जमा झालेले तांत्रिक कर्ज तसेच त्याच्या उत्क्रांती प्रक्रियेतील अडचणी.
या समस्यांचे निराकरण करण्याचा आदर्श दृष्टीकोन म्हणजे C किंवा C++ च्या परंपरेचा थेट वारसा न घेता, समकालीन जेनेरिक्स प्रणाली, मॉड्यूलर कोड स्ट्रक्चर आणि सुसंगत, सरळ वाक्यरचना यासारख्या मजबूत भाषा पायासह प्रारंभ करणे.
Go, Swift, Kotlin, Rust आणि इतर अनेक समकालीन भाषा आधीच उत्कृष्ट विकास अनुभव देतात. या वर्तमान भाषांपैकी एक वापरण्यास सक्षम असलेल्या विकसकांनी हे करणे आवश्यक आहे.
दुर्दैवाने, C++ मधून दत्तक घेणे आणि स्थलांतर करणे या भाषांच्या रचनांमध्ये गंभीरपणे अडथळा आणतात. या अडथळ्यांमध्ये कार्यप्रदर्शन ओव्हरहेड आणि सॉफ्टवेअरच्या आयडिओमॅटिक डिझाइनमध्ये बदल समाविष्ट आहेत.
कार्बन हळूहळू C++ सुधारण्याचा प्रयत्न नाही; उलट, ही एक उत्तराधिकारी भाषा धोरण आहे. त्याचे लक्ष C++ इंटरऑपरेबिलिटी, तसेच सध्या C++ वापरणाऱ्या डेव्हलपर आणि कोडबेससाठी व्यापक स्वीकृती आणि स्थलांतरावर आहे.
C++ बदलण्याची भाषा असणे आवश्यक आहे:
- C++ शी तुलना करता येणारी कामगिरी ही विकासकांसाठी एक महत्त्वपूर्ण वैशिष्ट्य आहे.
- C++ प्रोग्रामरसाठी आटोपशीर शिक्षण वक्र आणि परिचयाची पातळी
- मायग्रेशन जे स्केलेबल आहे आणि त्यात काही स्त्रोत-टू-स्रोत मुहावरे C++ कोड भाषांतर समाविष्ट आहे.
- वर्तमान सॉफ्टवेअरच्या आर्किटेक्चर आणि डिझाइनसाठी समान अभिव्यक्ती आणि समर्थन.
- C++ सह इंटरऑपरेबिलिटी जी अखंड आणि द्विदिशात्मक आहे, कोणत्याही लायब्ररीला उर्वरित स्टॅक पोर्ट न करता कार्बनचा अवलंब करण्यास अनुमती देते.
या धोरणासह, Google C++ साठी आधीपासून अस्तित्वात असलेल्या इकोसिस्टममध्ये जोडते आणि सध्याची गुंतवणूक, कोडबेस आणि विकास समुदाय समाविष्ट करते.
काही भाषांनी विविध परिसंस्थांसाठी हा दृष्टीकोन स्वीकारला आहे आणि कार्बन या परिस्थितींमध्ये C++ प्रमाणे कार्य करू इच्छित आहे:
- जावा - कोटलिन
- JavaScript - TypeScript
- C++ – कार्बन
C++ VS कार्बन कोड
जर तुम्ही आधीच C++ विकसक असाल तर कार्बनमध्ये कमी शिकण्याची वक्र असावी. हे व्याकरणाच्या एका निश्चित संचाने बनलेले आहे जे नैसर्गिक वाटले पाहिजे आणि वाचण्यास आणि समजण्यास सोपे असावे.
C++ कोडचे उदाहरण:
हा कार्बन कोड याच्याशी संबंधित आहे:
कार्बन वि गंज
मेमरी-सुरक्षित कार्यप्रदर्शन अनुप्रयोगांच्या आवश्यकता पूर्ण करण्यासाठी स्पष्टपणे डिझाइन केलेली दुसरी समकालीन भाषा रस्ट म्हणतात.
मग फक्त गंज का वापरू नये?
काहींनी असा युक्तिवाद केला की रस्ट, जो मोझिला प्रकल्प म्हणून सुरू झाला आणि नंतर मोठ्या प्रमाणात सार्वजनिक अनुयायी बनला, तो C++ चा उत्तराधिकारी आहे, परंतु समांतर अद्याप वैध आहे की नाही याबद्दल कॅरुथला शंका आहे.
रस्ट ही निःसंशयपणे नवीन प्रकल्प सुरू करण्यासाठी एक विलक्षण भाषा आहे, परंतु त्यात Java आणि Kotlin सारख्या भाषांची "द्विदिशात्मक आंतरक्रियाक्षमता" नसल्यामुळे, हळूहळू त्यात संक्रमण करणे आव्हानात्मक आहे.
कॅरुथने CPP नॉर्थ येथे व्याख्यान दिले आणि जे लोक आधीच रस्ट वापरत होते त्यांना असे करत राहण्यासाठी प्रोत्साहित केले. ज्या विकसकांकडे आधीच मोठ्या प्रमाणात C++ कोडबेस आहेत जे रस्टमध्ये रूपांतरित करणे आव्हानात्मक आहेत त्यांनी कार्बनचा वापर करावा.
विशेषतः, कार्बन म्हणजे ज्याला कॅरुथने "उत्तराधिकारी भाषा" म्हणून संबोधले आहे, जी विद्यमान परिसंस्थेच्या शीर्षस्थानी तयार केली जाते, या उदाहरणात C++.
त्या उद्देशासाठी, कार्बनचा अर्थ सध्याच्या C++ कोडशी पूर्णपणे सुसंगत असणे आहे, जरी त्याचे Rust सह अनेक उद्दिष्टे आहेत, जसे की प्रोग्रामरना “कार्यप्रदर्शन-महत्वपूर्ण अनुप्रयोग” तयार करण्यात मदत करणे.
याव्यतिरिक्त, C++ वरून कार्बनवर जाणे शक्य तितके सोपे बनवण्याचा हेतू आहे.
निष्कर्ष
शेवटी, कार्बन भाषेच्या निर्मात्यांनी निर्मिती प्रक्रियेकडे लक्ष देण्याचा प्रयत्न केला. प्रकल्पाचा कोड विनंतीसाठी उपलब्ध आहे आणि वर उघडपणे संग्रहित आहे जिथूब, आणि तिची संस्कृती सर्वसमावेशक आणि खाजगी नागरिकांसाठी आणि IT क्षेत्रासाठी खुली म्हणून परिभाषित केली आहे.
कार्बन टीमने विचार केला की कार्बन हा समाजाद्वारे चालवलेला एक स्वायत्त प्रकल्प असणे आवश्यक आहे आणि भविष्यात विकसित होण्यासाठी Google द्वारे चालवलेला प्रकल्पच नव्हे.
कारुथ पुढे म्हणाले की, अनेक आयटी व्यवसायांमध्ये रस असूनही, ही संकल्पना अजूनही प्रायोगिक अवस्थेत आहे.
प्रत्युत्तर द्या