إليك ما نعرفه عن لغة برمجة Carbon التي أعلنت عنها جوجل لتكون خليفة C++ ، كشف تشاندلر كاروث، مهندس برمجيات في جوجل عن لغة برمجة Carbon والتي تهدف إلى استبدال لغة C++ فماذا نعرف عن هذه اللغة الجديدة وما العيوب الموجودة في C++ لكي تتم محاولة استبدالها في المقام الأول، وماذا عن لغة راست الذي جاءت لنفس الهدف؟
إقرأ المزيد : كيف تجعل Google Chrome يعمل أسرع في 5 خطوات
لا يمكننا شرح وتعريف لغة برمجة محددة دون إعطاء فكرة أولية عن لغات البرمجة بشكل عام. حيث تعرف لغات البرمجة بأنها مجموعة الأوامر والتعليمات التي يكتبها المبرمج لتوليد شيء من لا شيء. ولتحويل فكرته الى منتج ملموس سواء على شكل موقع إلكتروني أو برنامج أو حسب المطلوب منه. تخضع كل لغة لضوابط وقيود وقواعد تنظم كتابة تعليماتها. ولكن لا يوجد لغة برمجة تصلح لكل شيء. فتطور السوفت وير الخاص بالحاسوب رافقه تطور كبير أيضًا في لغات البرمجة. فمثلا اللغة الثنائية التي كان يبرمج الحاسوب بها في عشرينيات القرن الماضي أصبح استخدامها اليوم محدودًا ومقتصرًا على المسافات التعليمية. واستبدلت بهذه اللغات لغات أقوى وأبسط وأسهل وتساعد بحل المشكلات الكبرى التي عجزت عنها اللغات القديمة.
وإذا كنت من متابعي الأخبار التقنية فربما سمعت عن لغة برمجة جديدة بدعم من جوجل تسمى “كربون – Carbon” فما هي هذه اللغة ولماذا ظهرت الآن وما هي الآمال المرتبطة بها. جميع هذه الأمور وأكثر سنتعرف عليها في هذا المقال الشامل عن لغة كربون.
لغة برمجة Carbon تأتي لتُستبدل بها C++
لغة كربون هي لغة تجريبية مفتوحة المصدر كشف عنها مهندس برمجيات جوجل تشاندلر كاروث في مؤتمر cpp North المنعقد بتاريخ 19 يوليو 2022 في مدينة تورنتو. ووضعت عليها الآمال أن تكون خليفة للغة C++. فهذه اللغة حسب ما جاء في المؤتمر ستشكل نقطة الانطلاق للمطورين لمعالجة وحل المشكلات القديمة مثل سلامة الذاكرة، ولكن هل هذا الشيء ممكن بالفعل؟ وهل فكرة إنشاء لغات برمجية كخليفة للغات أخرى أمر جيد؟
لم تكن هذه المرة الأولى التي تطلق فيها لغة برمجة لتحديث وحل مشاكل وعجز لغات برمجة قديمة، فباستعراض سريع نجد أن مايكروسفت طوّرت كل من لغة Typescript كخليفة للغة JavaScript. وطورت Kotlin لحل مشاكل الضعف الموجودة في لغة Java. ومطورو iOS يعلمون أن لغة Swift هي خليفة للغة Objective-C. ويجب ألا ننسى أن لغة C++ هي أحد تطويرات لغة C.
ما العيوب التي واجهت لغة C++ ليتم استبدالها
لا يمكننا شرح فكرة بديل لغة إذا لم نعرف استخدامات اللغة الأصلية حيث تتميز لغة C++ بأنها لغة البرمجة المسيطرة على مختلف القطاعات البرمجية حاليًا فهي تستخدم في أنظمة التشغيل مثل Windows و MAC كما أنها تدخل في صناعة الألعاب كلعبة World of Warcraft ومتصفحات الإنترنت مثل Google Chrome و Firefox و Safari. وهذه اللغة استخدمت أيضًا عند بناء أدوات قواعد البيانات MySQL و MangoDB.
صعوبة تطوير C++
قد يتساءل بعض المطورين لماذا يجب عليهم التفكير بتغيير لغة لها كل هذه الشهرة والاستخدامات والانتقال إلى لغة لم يسمعوا عنها قط. ولكن مع هذا الاستخدام الكبير للغة C++ وتواجد المئات من التطبيقات ومخازن الأكواد الداعمة سيصعب تطوير هذه اللغة دون ظهور العديد من الأخطاء. كما تعاني بعض تعليمات وأوامر هذه اللغة من القدم والحاجة إلى التحديث. لتلائم الاستخدامات الحالية وسنلخص هذه الصعوبات بنقطتين.
• أعباء تقنية: شكّل التطور المستمر لهذه اللغة وإضافة الكثير من الميزات لها دون حذف أو تعديل ميزات سابقة إلى صعوبة إدارتها الآن وإدخال التحسينات إليها. فالخيارات والأفكار الأساسية التي شكّلت عظمة هذه اللغة جعلت من المتعب جدًا تحسينها.
• تكلفة عالية واهتمام أقل: نجد العديد من الدول والشركات اليوم لا يرغبون بدعم هذه اللغة نتيجة تكلفة التطوير الكبيرة المترتبة على ذلك. وهذا دفع المطورين للقلق حول إمكانيات اللغة المستقبلية وكيفية تحقيق الإبداع الذين يحلمون به.
ماذا عن لغة Rust التي فشلت بأن تحل محل C++
قبل أن يكشف المهندس كاروث عن لغة كربون، ظهرت سنة 2021 لغة أخرى من دعم موزيلا للأبحاث تسمى “راست -Rust”، واعتقدنا حينها أنها ستكون اللغة الخليفة للغة C++ نتيجة أوجه التشابه الكثيرة بين اللغتين. لأن لغة راست ساهمت بزيادة سرعة سلامة الذاكرة (memory safety) بشكل أفضل من C++.
ولكن اللغة الجيدة يجب أن تكون سهلة وآمنة وسريعة وهو ما لم تستطع راست تحقيقه؛ حيث كانت صعبة التعلم بالنسبة للمطورين. بسبب بناء جملها المعقد وامتلاكها لمنحنى تعلم حاد. فقد شعر المطورون أنهم يدرسون لغة جديدة تماماً وليس لغة خليفة. كما تعاني من ببطء تنفيذ تعليماتها مقارنة مع لغات البرمجة الأخرى.
فلغة راست صممت لحل بعض المشاكل الصعبة في البرمجة وللشركات الكبرى، فمثلًا تُستخدم في نظام لينكس وفي منتجات من شركة ميتا، ودروبكس عدا عن استخدامها المميز في برامج الاختراق.
على عكس راست، تأتي لغة برمجة Carbon بمنحنى تعلم بسيط
ولكن تصميم راست نفسه يشكل عائقًا كبيرًا أمام تبنيها كلغة خليفة وهجرة ++C لأجلها. فتخيل إعادة كتابة مكتبات لغة C التي دققت مئات المرات وعدل عليها عشرات الأشخاص مرة أخرى بلغة مختلفة. بالطبع ستكون الأخطاء الظاهرة سببًا كافيًا للابتعاد عن هذه اللغة. أما باستخدام لغة كربون فالأمر لن يحتاج لكل هذا التعقيد فهي لغة تملك منحنى تعلم بسيط. وهي تبنى بحيث تعالج مختلف المشكلات التي فشلت فيها ++C إضافة الى استخدامها بوظائف مماثلة للغة ++C وأكثر من ذلك.
لذلك لخص كاروث النقاش بقوله إن الفريق المختص بتطوير لغة كربون سيستغرق بعض الوقت للاطلاع على كيفية مراعاة اللغات الأخرى لهذه المشاكل. وقدم خلاصة واضحة مفادها أنه إذا كانت لغة راست تعمل معك اليوم، فأنت يجب أن تستخدمها، ولكن نقل نظام ++C للغة راست سيكون مهمة صعبة. لذلك سيحاول بناء لغة كربون وتضمين قواعد أكواد ++C بها ما سيسهل على المطورين تعلم اللغة الجديدة ومن ثم الانتقال إليها تدريجيًا من اللغة القديمة.
أهم ميزات لغة برمجة Carbon
ما الدافع من إطلاق لغة جديدة إذا كانت لا تقدم أي ميزات أو خصائص تجعلها أفضل من سابقتها التي تسعى لأن تحل محلها؟ كشف كاروث عن عدد من الميزات التي تتمتع بها لغة كربون والتي يمكن تلخيصها في النقاط التالية:
- متوافقة مع معظم المنصات وأنظمة التشغيل وتتمتع بتكوين جمل بسيط وسهل.
- نظام تشغيل بيني ثنائي الاتجاه متوافق مع نظام ++C، ما يسمح باستدعاء لغة كربون من خلال لغة C++ وبالعكس.
- الأداء العالي حيث يمكنها الوصول للعناوين والتعامل مع البت (أصغر وحدة تخزين).
- إمكانية استيراد واجهات برمجة التطبيقات (APIs) من خلال اسم حزمة.
- لغة مفتوحة المصدر تتضمن مكتبات ووثائق المحرر وغيرها من التطويرات.
- إمكانية استخدام التعبيرات النمطية.
- وجود مؤشرات تؤمن الوصول غير المباشر.
تصريحات لغة برمجة Carbon
- تستخدم كلمة fn للتصريح عن الدالة (function).
- تستخدم كلمة var للتصريح عن المتغيرات (variable).
- أسماء المتغيرات يجب أن تنتهي بالعلامة (:).
- يمكن التصريح عن الثوابت بكلمة let.
- تستخدم كلمة package للتصريح عن الحزم.
- لإضافة تعليق ضمن لغة كربون يمكنك استخدام شرطتين مائلتين //.
مستقبل لغة برمجة Carbon
على الرغم من بداية لغة الكربون كمشروع داخلي من شركة جوجل؛ إلا أن الفريق المسؤول عن تطوير هذه اللغة يرغب بالحد من مساهمة جوجل أو أي شركة أخرى إلى أقل من 50% بحلول نهاية العام. وخلال السنوات القادمة سيسلم المشروع إلى مؤسسة برمجيات مستقلة غير ربحية، بحيث يعمل المتطوعون على تطوير هذه اللغة. ولتصبح لغة كربون في المستقبل مشروعًا مستقلًا يعتمد تطويره على جميع المبرمجين والمتطوعين وليس مقتصرًا على مبرمجي جوجل، وقد شاركت جوجل الكود المصدري للغة بالإضافة إلى بعض الملاحظات على الإنترنت.
إقرأ المزيد : “سناب شات” تتيح ميزة للآباء معرفة الأشخاص الذين يدردش معهم المراهقون