قابل احترام پر سست C++ کي تبديل ڪرڻ جي ڪوشش ۾، گوگل محققن متعارف ڪرايو آهي هڪ بلڪل نئين ”تجرباتي“ اوپن سورس پروگرامنگ ٻولي ڪاربان ڊب.
ڪاربن C++ جي جانشين ٻولي جي طور تي ڪم ڪري سگهي ٿي، جيڪا ڊولپرز لاءِ نئين ٻولي لاءِ هڪ سادي شروعاتي نقطي فراهم ڪري ٿي جيڪا همعصر ترقي جي تصورن جهڙوڪ ياداشت جي حفاظت ۽ جنريڪس کي خطاب ڪري ٿي.
اهو ساڳيو هوندو ته ڪيئن مائڪروسافٽ ٽائپ اسڪرپٽ ٺاهي جاوا اسڪرپٽ ۽ ڪوٽلن کي اپڊيٽ ڪرڻ لاءِ جاوا ۾ ڪمزورين کي مضبوط ڪرڻ لاءِ.
گوگل ڪيترن ئي سالن ۾ پروگرامنگ ٻوليون ٺاهيا آهن، جن مان ڪجهه اهم شهرت ۽ شهرت حاصل ڪئي آهي.
مثال طور، گولانگ (يا صرف گو) ترقي ڪئي وئي ته جيئن سرورز ۽ تقسيم سسٽم جي تخليق کي آسان بڻائي سگهجي ۽ بعد ۾ عام عوام طرفان قبول ڪيو ويو آهي.
ڊارٽ پروگرامنگ واري ٻولي, جيڪو JavaScript جي متبادل طور ٺاهيو ويو هو، Flutter جي لانچ ٿيڻ تائين مشهور نه ٿيو.
چانڊلر ڪارروٿ، گوگل جي هڪ ملازم، 19 جولاءِ 2022 تي ٽورانٽو ۾ سي پي پي نارٿ ڪنوينشن ۾ ڪاربن نالي هڪ نئين پروگرامنگ ٻولي لاءِ پنهنجو خيال پيش ڪيو، Conor Hoekstra جي مطابق، جن شرڪت ڪئي ۽ سلائڊ رڪارڊ ڪيو.
منظرنامي کي ترتيب ڏيڻ لاءِ، ڪاررٿ ڏيکاريو ته ڪيئن اڄوڪي دور جي تمام گهڻي پسند ڪيل پروگرامنگ ٻولين جو اولاد آهي جيڪي ڊولپرز کي تيزيءَ سان پيداواري ٿيڻ جي اجازت ڏين ٿا ۽ پڻ معاصر ٻوليءَ جي ڊيزائن مان فائدو حاصل ڪن ٿا.
اچو ته ڪاربن پروگرامنگ ٻولي جي عام تعارف سان شروع ڪريون، جنهن ۾ ان جون خاصيتون، گوگل جي ان جي ايجاد جو مقصد ۽ وڌيڪ شامل آهن.
ڪاربن پروگرامنگ ٻولي جو تعارف
19 جولاءِ 2022 تي، گوگل ڪاربن کي نئين پروگرامنگ ٻولي طور پڌرو ڪيو جيڪو ان جي ٺاهيل هو. اهو C++ تجرباتي طور تي تبديل ڪرڻ جو ارادو ڪيو ويو.
ڪنهن جي مهرباني عام نظام، جيڪو هر انسٽيٽيشن لاءِ ڪوڊ کي ٻه ڀيرا چيڪ ڪرڻ جي ضرورت کي ختم ڪري ٿو، ڪاربن جديد پروگرامنگ تصورن جي بنياد تي تعمير ڪيو ويندو.
سال جي آخر تائين، ڊيزائن کي بنيادي آپريشنل ورزن (ورجن 0.1) مهيا ڪرڻ جو منصوبو آهي.
ياداشت جي سالميت هڪ اهم عنصر آهي جيڪا C++ غائب آهي. حفاظتي خامين جي بنيادي ذريعن مان هڪ آهي ميموري رسائي جا مسئلا.
متحرڪ حدن جي چيڪن جي ترقي، غير شروع ٿيل رياستن جي وڏي ٽريڪنگ، ۽ مڪمل ڊفالٽ ڊيبگ بلڊ موڊ ڪاربن ٽيم جا سڀ مقصد آھن. ٺاهيندڙ وقت سان گڏ هڪ محفوظ ڪاربن سبسٽ ٺاهڻ جو ارادو رکن ٿا.
تنهن هوندي، نئين پروگرامنگ ٻولي جي ڪجهه اهم خاصيتون هيٺ ڏنل آهن:
- قسمن کي نالا ڏيڻ لاء، اظهار استعمال ڪريو.
- تعريف جي چڪاس سان مضبوط generics
- قسم خاص طور تي انٽرفيس کڻندا آهن
- تعارفي جملا ۽ بنيادي گرامر
- پوائنٽر غير محدود رسائي ۽ ميوٽيشن جي اجازت ڏين ٿا.
- فنڪشن ان پٽ پيٽرولر لاءِ قدر صرف پڙهڻ لاءِ آهن.
- روٽ جي نالي جي جڳھ پيڪيج آھي.
- APIs انهن جي پيڪيج جا نالا استعمال ڪندي درآمد ڪري سگھجن ٿيون.
- ھڪڙو طريقو ھڪڙو واضح اعتراض پيٽرولر ذريعي بيان ڪيو ويو آھي.
- ڪلاس ڊفالٽ طور فائنل آهن؛ صرف هڪ وراثت آهي
ڪاربن جون خاصيتون
جديد ۽ ترقي يافته
- ڪاربن نسخن جي وچ ۾ اپ گريڊ سادي ۽ اوزار تي ٻڌل آهن.
- مضبوط ٻوليءَ جا اصول، خاص طور تي جيڪڏھن توھان استعمال ڪيو آھي C++، ۽ سکڻ لاءِ سادو
- محفوظ بنيادون ۽ ميموري-محفوظ ذيلي سيٽ لاء هڪ قدم قدم قدم
اوپن سورس جي ڪميونٽي کي ڀليڪار
- هڪ ڪميونٽي جيڪا گرم، قبول ڪرڻ، ۽ دعوت ڏيڻ جي ڪوشش ڪري ٿي
- ان جا مقصد ۽ ترجيحون الڳ ۽ مضبوط حڪمراني آهن
- گڏ ڪرڻ واري، لائبريري، دستاويز، اوزار، پيڪيج مينيجمينٽ، ۽ وڌيڪ سان گڏ هڪ سموري حڪمت عملي
جلدي ۽ C++ سان مطابقت
- سان گڏ ڪم ڪريو سي ++ ڪوڊ توهان وٽ اڳ ۾ ئي آهي، جنهن ۾ وراثت ۽ ٽيمپليٽ شامل آهن
- LLVM سان، ڪارڪردگي C++ جي مقابلي ۾ ۽ بٽس ۽ ايڊريس تائين گھٽ سطح جي رسائي
- تعميرات جيڪي جلدي ۽ اسپيبلبل آهن ۽ توهان جي موجوده C++ بلڊ سسٽم سان مطابقت رکن ٿيون
گوگل ڪاربن پروگرامنگ ٻولي ڇو ٺاهي؟
ڪارڪردگي-نازڪ سافٽ ويئر گهڻو ڪري C++ ۾ لکيو وڃي ٿو، جنهن ۾ ڪوڊ بيسز ۽ سيڙپڪاري جو وڏو ۽ توسيع آهي.
بهرحال، مٿي ذڪر ڪيل ڊولپرز جي مطالبن کي اڳتي وڌائڻ ۽ ملڻ ۾ مشڪل ٿي رهي آهي، گهڻو ڪري ڪيترن سالن جي ٽيڪنالاجي قرض جي قيمت جي ڪري.
C++ ۾ واڌارو ڪرڻ انتهائي مشڪل آهي ڇو ته ٽيڪنيڪل قرض جي ڪري ان کي گڏ ڪيو ويو آهي ۽ ان سان گڏ ان جي ارتقا جي عمل ۾ مشڪلاتون.
انهن مسئلن کي حل ڪرڻ لاءِ مثالي طريقو اهو آهي ته هڪ مضبوط ٻوليءَ جي بنياد سان شروع ڪيو وڃي، جيئن ته هڪ همعصر جنريڪس سسٽم، ماڊلر ڪوڊ ڍانچي، ۽ هڪجهڙائي، سڌي نحو، بجاءِ سڌو سنئون C يا C++ جي روايت کي ورثي ۾ آڻڻ جي.
Go, Swift, Kotlin, Rust، ۽ ٻيون ڪيتريون ئي ٻيون همعصر ٻوليون اڳ ۾ ئي شاندار ترقي جو تجربو پيش ڪن ٿيون. ڊولپرز جيڪي انهن موجوده ٻولين مان هڪ کي استعمال ڪرڻ جي قابل آهن.
بدقسمتي سان، C++ مان اپنائڻ ۽ لڏپلاڻ انهن ٻولين جي ڊيزائن کي سختي سان روڪيو آهي. اهي رڪاوٽون شامل آهن ڪارڪردگي مٿان مٿي ۽ سافٽ ويئر جي محاوري ڊيزائن ۾ تبديليون.
ڪاربان تدريجي طور تي C++ کي بهتر ڪرڻ جي ڪوشش ناهي. بلڪه، اها هڪ جانشين ٻولي حڪمت عملي آهي. ان جو ڌيان C++ انٽرآپريبلٽي تي آهي، انهي سان گڏ ڊولپرز ۽ ڪوڊ بيسز لاءِ وسيع قبوليت ۽ لڏپلاڻ هن وقت C++ استعمال ڪندي آهي.
هڪ C++ متبادل ٻولي هجڻ گهرجي:
- ڪارڪردگي C++ جي مقابلي ۾ ڊولپرز لاءِ هڪ اهم خصوصيت آهي.
- C++ پروگرامرز لاءِ هڪ منظم سکيا وارو وکر ۽ واقفيت جي سطح
- لڏپلاڻ جيڪا اسپيبلبل آهي ۽ ڪجهه ماخذ کان ماخذ محاوري C++ ڪوڊ ترجمو شامل آهي.
- موجوده سافٽ ويئر جي فن تعمير ۽ ڊزائين لاء ساڳئي اظهار ۽ حمايت.
- C++ سان انٽرآپريبلٽي جيڪا بيحد ۽ ٻه طرفي آهي، ڪنهن به لائبريري کي اجازت ڏئي ٿي ته ڪاربن کي اپنائڻ کان سواءِ باقي اسٽيڪ کي پورٽ ڪرڻ جي.
هن حڪمت عملي سان، گوگل ماحولياتي نظام ۾ اضافو ڪري ٿو جيڪو اڳ ۾ ئي C++ لاءِ موجود آهي ۽ موجوده سيڙپڪاري، ڪوڊ بيس، ۽ ترقي پسند برادرين کي شامل ڪري ٿو.
ڪجھ ٻولين مختلف ماحولياتي نظامن لاءِ ھن طريقي کي اختيار ڪيو آھي، ۽ ڪاربان انھن حالتن ۾ C++ سان ملندڙ جلندڙ فعل کي ادا ڪرڻ گھري ٿو:
- جاوا - ڪوٽلن
- JavaScript - ٽائپ اسڪرپٽ
- سي ++ - ڪاربن
C++ VS ڪاربن ڪوڊ
ڪاربن کي گهٽ سکيا وارو وکر هجڻ گهرجي جيڪڏهن توهان اڳ ۾ ئي C++ ڊولپر آهيو. اهو گراماتياتي تعميرات جي هڪ مقرر ڪيل سيٽ تي مشتمل آهي جيڪو قدرتي آواز هجڻ گهرجي ۽ پڙهڻ ۽ سمجھڻ لاء آسان هجڻ گهرجي.
C++ ڪوڊ جو هڪ مثال:
هن ڪاربن ڪوڊ سان ملندڙ جلندڙ آهي:
ڪاربن بمقابله مورچا
ميموري-محفوظ ڪارڪردگي ايپليڪيشنن جي ضرورتن کي پورو ڪرڻ لاءِ واضح طور تي ٺهيل هڪ ٻي همعصر ٻولي Rust سڏجي ٿي.
پوء ڇو نه رڳو استعمال ڪريو مورچا؟
جڏهن ته ڪجهه بحث ڪن ٿا ته Rust، جيڪو هڪ Mozilla پروجيڪٽ جي طور تي شروع ٿيو ۽ اڳتي هلي وڏي پئماني تي عوام جي پيروي ڪئي، سي ++ جو جانشين آهي، ڪارروٿ کي شڪ آهي ته متوازي اڃا به صحيح آهي.
مورچا بلاشڪ هڪ شاندار ٻولي آهي جنهن سان هڪ نئون منصوبو شروع ڪيو وڃي، پر جيئن ته ان ۾ جاوا ۽ ڪوٽلن جهڙن ٻولين جي ”ٻئي طرفي مداخلت“ جو فقدان آهي، ان ڪري ان کي بتدريج منتقل ڪرڻ مشڪل آهي.
ڪارروٿ سي پي پي اتر ۾ هڪ ليڪچر ڏنو ۽ ماڻهن کي همٿايو جيڪي اڳ ۾ ئي استعمال ڪري رهيا هئا ائين ڪرڻ لاءِ. ڊولپر جيڪي اڳ ۾ ئي وڏا سي ++ ڪوڊ بيس آهن جيڪي زنگ ۾ تبديل ڪرڻ ۾ مشڪل آهن ڪاربن کي استعمال ڪرڻ گهرجي.
خاص طور تي، ڪاربن اهو آهي جنهن کي Carruth هڪ "جانشين ٻولي" جي طور تي حوالو ڏنو آهي، جيڪو هڪ موجوده ماحولياتي نظام جي چوٽي تي ٺهيل آهي، هن مثال ۾ C++.
انهيءَ مقصد لاءِ، ڪاربن جو مطلب آهي مڪمل طور تي موجوده C++ ڪوڊ سان مطابقت، جيتوڻيڪ ان ۾ رسٽ سان ڪيترائي مقصد آهن، جيئن ”پرفارمنس-نازڪ ايپليڪيشنون“ ٺاهڻ ۾ پروگرامرز جي مدد ڪرڻ.
ان کان علاوه، اهو مقصد آهي ته C++ کان ڪاربن ڏانهن منتقل ڪرڻ ممڪن طور تي آسان بڻائي سگهجي.
ٿڪل
آخرڪار، ڪاربن ٻوليءَ جي تخليقڪارن تخليق جي عمل تي ڌيان ڏيڻ جي ڪوشش ڪئي. پروجيڪٽ جو ڪوڊ درخواست لاءِ موجود آهي ۽ کليل طور تي ذخيرو ٿيل آهي GitHub، ۽ ان جي ڪلچر جي تعريف ڪئي وئي آهي جامع ۽ کليل ٻنهي نجي شهرين ۽ آئي ٽي شعبي لاءِ.
ڪاربن ٽيم جو خيال هو ته ڪاربن کي هڪ خودمختيار پراجيڪٽ هجڻ جي ضرورت آهي جيڪا ڪميونٽي طرفان هلائي ويندي آهي ۽ نه رڳو هڪ پروجيڪٽ گوگل پاران مستقبل ۾ ترقي ڪرڻ لاءِ.
ڪارٿ شامل ڪيو ته ڪيترن ئي آئي ٽي ڪاروبار جي دلچسپي جي باوجود، اهو تصور اڃا تائين تجرباتي اسٽيج ۾ آهي.
جواب ڇڏي وڃو