Carbon ، لغة البرمجة التي تهدف إلى استبدال C ++

قبل بضعة أيام كشف أحد موظفي Google الذي يقوم بتطوير لغة برمجة جديدة تسمى "فحم"، أن يتم وضعه كبديل تجريبي لـ C ++وتوسيع هذه اللغة والقضاء على أوجه القصور الموجودة.

وفقًا لعرض Carruth ، تم تطوير اللغة لتكون قادرة على إنشاء برنامج يكون الأداء فيه أمرًا بالغ الأهمية. أرادوا أيضًا السماح للمطورين بالاستفادة من تصميم لغة البرمجة الحديثة باستخدام الكربون.

بعض الأشياء التي تم إبرازها على أنها نقاط بارزة للكربون مقارنة بـ C ++ كانت ، على سبيل المثال ، أبسط بناء الجملة واستيراد API. وفقًا لكاروث ، يجب أن تكون هذه اللغة التجريبية الجديدة قابلة للتشغيل البيني ثنائي الاتجاه مع C ++ ، مما يعني أن المشاريع يجب أن تكون قادرة على الانتقال من لغة إلى أخرى دون صعوبة كبيرة.

بالإضافة إلى ذلك ، يعد الهدف هو زيادة تطوير اللغة بطريقة مفتوحة على الإنترنت ، حيث يمكن لأي شخص يريد المساهمة بكود المصدر. المشروع متاح للجمهور على جيثب وهو مفتوح ل طلبات السحب. 

تدعم اللغة قابلية النقل الأساسية C ++، يمكن أن يتكامل مع كود C ++ الحالي ، ويوفر أدوات لتبسيط ترحيل المشاريع الحالية عن طريق الترجمة التلقائية لمكتبات C ++ إلى كود Carbon.

على سبيل المثال ، يمكنك إعادة كتابة مكتبة معينة في Carbon واستخدامها في مشروع C ++ موجود. تمت كتابة مترجم Carbon باستخدام LLVM و Clang builds.

من الخصائص الرئيسية للكربون، يبرز ما يلي:

  • أداء الكود الناتج يمكن مقارنته بـ C ++ ، مع الحفاظ على القدرة على الوصول إلى عناوين منخفضة المستوى وبيانات على مستوى البت.
  • إمكانية النقل باستخدام كود C ++ الحالي ، بما في ذلك وراثة الفئة والقوالب.
  • التجميع السريع والقدرة على التكامل مع أنظمة البناء الحالية لـ C ++.
  • تبسيط الترحيل بين الإصدارات المختلفة من الكربون.
  • يوفر أدوات آمنة للذاكرة تحمي من الثغرات الأمنية الناتجة عن معالجة منطقة الذاكرة بعد تحريرها ، وإشارة مرجعية للمؤشرات الفارغة ، وتفيض المخزن المؤقت.

بالطبع لدينا Rust كبديل مقترح لـ C و C ++ ، لكن هذه ليست لغة امتداد حقًا ، إنها لغة كاملة ، فلنبدأ مرة أخرى. يحاول Carbon أن يكون مثل Rust بينما يظل متوافقًا مع عالم C ++ ، حسنًا ، في صفحة Github الخاصة به تقول:

  • مطابقة أداء C ++ باستخدام LLVM ، مع وصول منخفض المستوى إلى وحدات البت والعناوين
  • تعامل مع كود C ++ الموجود لديك ، من الوراثة إلى القوالب
  • تصميمات سريعة وقابلة للتطوير تعمل مع أنظمة بناء C ++ الموجودة لديك

يُزعم أن الكربون ضروري لأن التحسين التدريجي لـ C ++ لم يعد ممكنًا بعد الآن بسبب الأمتعة التاريخية التي لا يمكن التخلص منها ببساطة. شخصياً ، سأذهب إلى أبعد من ذلك وأقترح أن "التحسينات" المتزايدة في C ++ هي جزء من سبب كونها لغة كبيرة في الممارسة.

"هناك دائمًا لغات جديدة تحاول أن تكون خلفًا لـ C ++. أرحب بتجارب لغات البرمجة وأنماط البرمجة ، لكنني حقًا لا أريد إثارة الجدل. من السهل انتقاد اللغات الراسخة (نعلم مشاكلها) ، لكن عادةً ما يكون من الصعب تقديم بدائل دون خلق مجموعات جديدة تمامًا من المشكلات في قواعد اللغة والمكتبات والحوكمة. قال مخترع C ++ Bjarne Stroustrup في رسالة بريد إلكتروني: "الكربون جديد جدًا وغير محدد بشكل كبير لدرجة أنني لا أستطيع حقًا تقديم أي تعليقات فنية ذات مغزى".

بينما بدأ Carbon كمشروع داخلي في Google ، فإن فريق التطوير يريد في النهاية تقليل المساهمات من Google ، أو أي شركة فردية أخرى ، إلى أقل من 50٪ بحلول نهاية العام. في النهاية ، يريدون تسليم المشروع إلى مؤسسة برمجيات مستقلة ، حيث سيتم تطويره من قبل متطوعين.

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها يجب أن تعلم أن تطورات المشروع موزعة بموجب ترخيص Apache 2.0 ويمكنك الرجوع إليها في الرابط التالي.


كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.