مطور يقدم إعادة تطبيق لـ GNU Coreutils في Rust 

الصدأ gnu-coreutils

سيساعد استخدام Rust لهذا المشروع في تسريع هذه العملية حيث يتم التخلص تمامًا من الكثير من الأخطاء المحتملة.

بدأ سيلفستر ليدرو العمل على إعادة تنفيذ GNU Coreutils في الصدأ خلال جائحة COVID-19 وقدمها الأسبوع الماضي خلال نسخة 2023 من FOSDEM. يتم الآن تجميع الجهد المسمى uutils بواسطة العديد من توزيعات Linux ويتم استخدامه أيضًا بواسطة شبكة اجتماعية شهيرة من خلال مشروع Yocto.

المقارنات بين لغات Rust و C ++ لها خيط مشترك: إبراز تفوق Rust على C ++ من حيث أمان الذاكرة. يشرح محرر RisingWave سبب إعادة كتابة Cloud DBMS الخاص به من البداية في Rust بعد ترك مشروع C ++.

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

GNU Coreutils عبارة عن حزمة من مشروع جنو الذي يحتوي على العديد من الأدوات الأساسية اللازمة لأنظمة التشغيل الشبيهة بـ Unix: cp (نسخ ملف أو دليل) ، mkdir (إنشاء دليل) ، إلخ. مطور يقدم إعادة تطبيق بلغة Rust.

أحد الأهداف: جعل الحزمة قابلة للاستخدام على أنظمة تشغيل أخرى: Windows و macOS و Android و FreeBSD وما إلى ذلك. تأتي هذه الخطوة لإحياء النقاش حول مسألة ما إذا كان يجب الاستمرار في بدء مشاريع جديدة في C و C ++ أو ببساطة اختيار لغة Rust.

"توفر لغة Rust ضمانات أمنية بشكل افتراضي عندما يتعلق الأمر بإدارة الذاكرة. ليس هذا هو الحال بالنسبة لـ C و C ++ ، حيث أن استخدامهما في Mozilla هو سبب مشاكل أمان الذاكرة "، كما يؤكد سيلفستر ليدرو.

ومع ذلك ، لا يوافق Bjarne Stroustrup على أن المقارنات بين Rust و C ++ تقصر فكرة تأمين البرنامج على تلك المتعلقة بتأمين الذاكرة:

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

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

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

يأتي إصدار محرر RisingWave مع تميز Rust عن اللغات الأخرى التي تم تقديمها لسنوات كبدائل لـ C و C ++. في الواقع ، أصبحت نواة Linux أكثر انفتاحًا على لغة برمجة أنظمة Mozilla.


اترك تعليقك

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

*

*

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