العربية
لماذا؟ | الأهداف | الحالة | البدء | انضم إلينا
شاهد فيديو إعلاننا من CppNorth. لاحظ أن الكربون ليس جاهزًا للاستخدام.
يتوافق مع رمز الكربون هذا:
يمكنك الاتصال بـ Carbon من C++ بدون حمل والعكس صحيح. وهذا يعني أنك تقوم بترحيل مكتبة C++ واحدة إلى Carbon داخل التطبيق، أو كتابة Carbon جديد فوق استثمارك الحالي في C++. على سبيل المثال:
اقرأ المزيد عن التشغيل المتداخل لـ C++ في Carbon.
بالإضافة إلى قابلية التشغيل البيني بين Carbon وC++، نخطط أيضًا لدعم أدوات الترحيل التي ستترجم ميكانيكيًا كود C++ الاصطلاحي إلى كود Carbon لمساعدتك في تحويل قاعدة تعليمات C++ الحالية إلى Carbon.
يوفر Carbon نظامًا عامًا حديثًا مع تعريفات محددة، بينما لا يزال يدعم قوالب الاشتراك للتشغيل البيني السلس لـ C++ . توفر الأدوية العامة التي تم التحقق منها العديد من المزايا مقارنة بقوالب C++:
دون التضحية بهذه المزايا، تدعم أدوية Carbon العامة التخصص ، مما يضمن قدرتها على معالجة حالات الاستخدام ذات الأداء الحرج لقوالب C++ بشكل كامل. لمزيد من التفاصيل حول الأدوية العامة لشركة Carbon، راجع تصميمها.
بالإضافة إلى التشغيل التفاعلي السهل والقوي مع C++، يمكن تقييد قوالب Carbon وترحيلها بشكل تدريجي إلى الأدوية العامة التي تم فحصها بدقة دقيقة وبمسار تطوري سلس.
تظل السلامة، وخاصة سلامة الذاكرة، تحديًا رئيسيًا لـ C++ وشيء تحتاج اللغة اللاحقة إلى معالجته. أولويتنا الأولية وتركيزنا ينصب على المعالجة الفورية للفواكه المهمة والسهلة المنال في مجال الأمان:
بمجرد أن نتمكن من ترحيل التعليمات البرمجية إلى Carbon، سيكون لدينا لغة مبسطة مع مساحة في مساحة التصميم لإضافة أي تعليقات توضيحية أو ميزات ضرورية، وبنية تحتية مثل الأدوية العامة لدعم أنماط التصميم الأكثر أمانًا. على المدى الطويل، سوف نبني على هذا لتقديم مجموعة فرعية آمنة من الكربون . ستكون هذه مهمة كبيرة ومعقدة، ولن تكون في تصميم 0.1. وفي الوقت نفسه، نحن نراقب عن كثب ونتعلم من الجهود المبذولة لإضافة دلالات آمنة للذاكرة إلى لغة C++ مثل التعليقات التوضيحية المستوحاة من Rust.
لتجربة Carbon على الفور في متصفحك، يمكنك استخدام المترجم التجريبي لـ Carbon على: Carbon.compiler-explorer.com.
نحن نعمل على تطوير سلسلة أدوات تقليدية لـ Carbon يمكنها تجميع البرامج وربطها. ومع ذلك، لا يزال Carbon مشروعًا تجريبيًا مبكرًا، ولذلك لدينا فقط إصدارات ليلية تجريبية جدًا من سلسلة أدوات Carbon متاحة للتنزيل، وعلى منصات محدودة فقط. إذا كنت تستخدم نظام Ubuntu Linux حديثًا أو إصدارًا مشابهًا (Debian وWSL وما إلى ذلك)، فيمكنك تجربة ذلك بالانتقال إلى صفحة الإصدارات الخاصة بنا وتنزيل أحدث ملف tar لسلسلة الأدوات الليلية: carbon_toolchain-0.0.0-0.nightly.YYYY.MM.DD.tar.gz . ثم يمكنك تجربتها:
carbon_toolchain-0.0.0-0.nightly.YYYY.MM.DD.tar.gz
# A variable with the nightly version from yesterday: VERSION= " $( date -d yesterday +0.0.0-0.nightly.%Y.%m.%d ) " # Get the release wget https://github.com/carbon-language/carbon-lang/releases/download/v ${VERSION} /carbon_toolchain- ${VERSION} .tar.gz # Unpack the toolchain: tar -xvf carbon_toolchain- ${VERSION} .tar.gz # Create a simple Carbon source file: echo " fn Run() { Core.Print(42); } " > forty_two.carbon # Compile to an object file: ./carbon_toolchain- ${VERSION} /bin/carbon compile --output=forty_two.o forty_two.carbon # Install minimal system libraries used for linking. Note that installing `gcc` # or `g++` for compiling C/C++ code with GCC will also be sufficient, these are # just the specific system libraries Carbon linking still uses. sudo apt install libgcc-11-dev # Link to an executable: ./carbon_toolchain- ${VERSION} /bin/carbon link --output=forty_two forty_two.o # Run it: ./forty_two
للتذكير، سلسلة الأدوات لا تزال مبكرة جدًا والعديد من الأشياء لا تعمل بعد. يرجى تأجيل تسجيل الكثير من الأخطاء: فنحن نعلم أن العديد من أجزاء هذا لا تعمل بعد أو قد لا تعمل على جميع الأنظمة. نتوقع أن تكون لدينا إصدارات أكثر قوة وموثوقية بحيث يمكنك تجربتها عندما نصل إلى الرقم 0.1.
إذا كنت تريد إنشاء سلسلة أدوات Carbon بنفسك أو تفكر في المساهمة في إصلاحات أو تحسينات في Carbon، فستحتاج إلى تثبيت تبعيات البناء الخاصة بنا (Clang، LLD، libc++) والتحقق من مستودع Carbon. على سبيل المثال، في نظام Debian أو Ubuntu:
# Update apt. sudo apt update # Install tools. sudo apt install clang libc++-dev libc++abi-dev lld # Download Carbon's code. $ git clone https://github.com/carbon-language/carbon-lang $ cd carbon-lang
ثم يمكنك تجربة سلسلة الأدوات الخاصة بنا والتي تحتوي على مترجم في مرحلة مبكرة جدًا لـ Carbon:
# Build and run the toolchain's help to get documentation on the command line. $ ./scripts/run_bazelisk.py run //toolchain -- help
للحصول على تعليمات كاملة، بما في ذلك تثبيت التبعيات على منصات مختلفة مختلفة، راجع وثائق أدوات المساهمة الخاصة بنا.
تعرف على المزيد حول مشروع الكربون:
محادثات تركز على الكربون من المجتمع:
نود أن ينضم إلينا الأشخاص ويساهمون في المشروع. تلتزم شركة Carbon ببيئة ترحيبية وشاملة حيث يمكن للجميع المساهمة.
يمكنك أيضًا مباشرة:
يمكنك الاطلاع على بعض "الإصدارات الأولى الجيدة" أو الانضمام إلى قناة #contributing-help على Discord. راجع وثائق CONTRIBUTING الكاملة لمزيد من التفاصيل.
#contributing-help
CONTRIBUTING