زندگی میان کلمات کتاب ها و کدها
«کربن» زبان برنامه نویسی جدید گوگل با هدف جایگزینی C++
چندروز قبل یکی از کارمندان گوگل به نام Chandler Carruth در کنفرانس CppNorth از یک زبان برنامه نویسی به نام کربن(Carbon) که فعلا در فاز آزمایشی است رونمایی کرد. هدف از ساخت این زبان جایگزین شدن با C++ است.
مخزن کربن به آدرس زیر در گیت هاب قرار داره که حدود 19.1k ستاره هم جمع کرده(خیلی بیشتر از زبان هایی مثل الیکسیر، پاورشل و سکالا(Scala)):
وقتی مخزن رو باز میکنید اولین چیزی که توجهتان را جلب میکند، snippet زیر هست :
این سینتکس آشناست، نه؟
همونطور که احتمالا متوجه شدید مثل گولنگ نام پکیج رو تعیین میکنه و نحوه تعریف توابع و متغییر ها مشابه Rust و Zig است و تفاوت خاصی نداره؛ جنریک ها هم مشابه گولنگ طراحی شده و باعث برتری اش نسبت به جنریک های C++ میشه.
همچنین کربن از LLVM به عنوان بک-اند استفاده میکنه که میتونه کد شما رو به هر معماری که بخواهید به صورت بهینه کامپایل کنه(از avr گرفته تا ماشین های کوآنتومی!)
در ادامه تیم کربن از چرایی استفاده از کربن میگویند که به طور خلاصه به «بدهی فنی انباشته شده به خاطر استفاده از C++» و «مهاجرت سخت از C++ به جایگزین هایی مثل Rust و...» اشاره میکنند و از memory safety به عناون یک ویژگی برتر نسبت به C++ میگویند و safety strategy کربن در این لینک در دسترس است که مقایسه های زیادی با Rust انجام دادند که جالب توجه است.
در آخر هم یک مقایسه از C++ با کربن(نتیجه گیریاش با شما):
پینوشت
کربن نکات جالبی را دنبال میکنه اما طبق تجربه زبان های دیگر، محقق شدن هدف «جایگزین شدن با C++» تقریبا غیرممکن هست، همچنین کربن علاوه بر رقابت با C++ باید با رقیب قدرتمند دیگری به نام راست هم رقابت کند که فکر نکنم حتی بتواند از پس راست بربیاید.
کامیونیتی راست در ردیت هم واکنش های جالبی نسبت به کربن نشون دادند که در نوع خودش جالبه :
https://www.reddit.com/r/rust/comments/w2tygg/carbon_language_an_experimental_successor_to_c/
https://www.reddit.com/r/rust/comments/w5y1d0/carbon_language_an_experimental_successor_to_c/
مطلبی دیگر از این انتشارات
برسی تاکتیک های پیاده سازی اپلیکیشن های ماژولار
مطلبی دیگر از این انتشارات
معرفی زبان برنامهنویسی سیستمی جدید hare
مطلبی دیگر از این انتشارات
به پایتون 4.0 امید نداشته باشید!