Rust و C ++: معًا في الطريق إلى تحسين تكامل البرمجة

Rust و C ++: معًا في الطريق إلى تحسين تكامل البرمجة

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

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

تحديات التكامل

عقبة رئيسية في الاستخدام الشائع للصدأ و C ++ هي عدم وجود مخطط أدوات يسمح بمختلط C ++ ورمز الصدأ في نفس الملف. من الضروري حاليًا توصيل نهج FFI (واجهة الوظائف الأجنبية) في حاليًا لربط لغتي البرمجة. يحدث هذا عادةً عبر الواجهة الثنائية للتطبيق (ABI) لـ C ، وهو أكثر استقرارًا وأكثر استقلالية من النظام الأساسي من C ++ أكثر تعقيدًا.

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

استراتيجيات للتحسين

حدد

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

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

تأتي هذه الأساليب في وقت منحت Google دعمًا سخية لـ Rust Foundation بقيمة مليون دولار في فبراير 2024. ويهدف هذا التمويل إلى زيادة التعاون بين الصدأ و C ++.

لمزيد من المعلومات ، يمكن قراءة التفاصيل في بيان مشكلة C ++/Rust على Github وفي إعلانات مؤسسة Rust. من المحتمل أن يكون لهذه المبادرات تأثير كبير على تطوير البرامج وتكاملها في المستقبل ، وخاصة في المجالات التي يتم فيها مشاركة Rust و C ++.

Kommentare (0)