أعلن جاريد سومنر، مبتكر ومطور منصة Bun، وهي منصة جافا سكريبت للخوادم، عن نجاح تجربته في إعادة كتابة المشروع من لغتي Zig وRust باستخدام مساعد الذكاء الاصطناعي Claude Code، وقرر نقل Bun إلى لغة Rust. وقد تم بالفعل قبول النسخة الجديدة المكتوبة بلغة Rust في المستودع الرئيسي للمشروع، ومن المقرر حذف كود Zig. كما أعلن مطور Bun عن تعيين فريق دعم يتمتع بخبرة تزيد عن خمس سنوات في تطوير تطبيقات C/C++ وRust.
تم حاليًا تنفيذ نسخة مباشرة من لغة Zig بلغة Rust. تتضمن هذه النسخة العديد من أجزاء التعليمات البرمجية غير الآمنة، وتستخدم نفس البنية، وهياكل البيانات، والمكتبات الخارجية الموجودة. وقد اجتازت نسخة Rust بنجاح مجموعة الاختبارات الحالية على جميع المنصات. كما تم إصلاح العديد من تسريبات الذاكرة وحالات فشل الاختبارات.
بعد بناء نسخة Rust، كان حجم الملف التنفيذي أصغر بمقدار 3-8 ميجابايت من نسخة Zig. وفي اختبارات الأداء، كانت نسخة Rust إما أسرع أو مماثلة لها. ومع ذلك، وفقًا لجارد، فإن أهم ميزة لنسخة Rust هي القدرة على اكتشاف أخطاء الذاكرة ومنعها، وهو ما كان يمثل مهمة شاقة ومستهلكة للوقت لمطوري Bun في السنوات الأخيرة.
وقد تم ذكر أسباب إعادة الكتابة إلى لغة Rust سابقًا على أنها رغبة في إصلاح المشاكل في لغة Bun الناتجة عن تسرب الذاكرة، والخلافات مع مؤلفي Zig بشأن استخدام الذكاء الاصطناعي لكتابة التعليمات البرمجية، وسياسة Zig فيما يتعلق بقبول التغييرات في اللغة التي تؤدي إلى كسر التوافق، وهو أمر غير مقبول للمشاريع الكبيرة.
يجري تطوير منصة Bun JavaScript كبديل عالي الأداء لـ Node.js و Deno. يُصمم المشروع مع مراعاة التوافق مع تطبيقات خادم Node.js، ويدعم معظم واجهات برمجة تطبيقات Node.js. تتضمن المنصة مجموعة من الأدوات لإنشاء وتشغيل تطبيقات JavaScript و TypeScript، بالإضافة إلى بيئة تشغيل لتنفيذ تطبيقات JavaScript بدون متصفح، ومدير حزم (متوافق مع NPM)، وأدوات اختبار، ومنشئ حزم مستقل، وطبقة لتضمين المعالجات المكتوبة بلغة C. من حيث الأداء، تتفوق Bun بشكل ملحوظ على Deno و Node.js (في الاختبارات القائمة على إطار عمل React، تتفوق Bun على Deno بمعامل 2 وعلى Node.js بمعامل يقارب 5). يدعم محرك JavaScriptCore JavaScript ومكونات WebKit تنفيذ JavaScript مع بعض التحديثات الإضافية.
المصدر: opennet.ru
