مثل اینکه Bun قراره کمکم با Rust ریرایت بشه، ولی هنوز اینجوری نیست که رسماً و یکباره بگن «Zig رفت، Rust اومد». چیزی که فعلاً توی ریپوی گیتهابش دیده میشه، یه راهنمای مرحلهایه برای پورت کردن فایلهای Zig به Rust. توی Phase A قراره برای هر فایل Zig، یه فایل Rust کنار همون فایل ساخته بشه و منطقش تا جای ممکن همونجوری منتقل بشه؛ حتی لازم نیست همون اول کامپایل هم بشه. بعداً توی Phase B میان این کدها رو crate به crate درست و قابل کامپایل میکنن.
نکته جالبش اینه که Bun نمیخواد تبدیل بشه به یه پروژه Rust معمولی. توی داکیومنتش صریح گفته از چیزهایی مثل tokio، hyper، futures، async fn و حتی std::fs و std::net استفاده نکنید. یعنی میخوان event loop، مدل async، syscallها و معماری خود Bun حفظ بشه. پس ماجرا بیشتر شبیه یه مهاجرت کنترلشدهست برای اینکه پروژه پایدارتر، امنتر، قابل نگهداریتر و برای contributorها قابلدسترستر بشه؛ نه اینکه صرفاً چون Rust ترند شده یا سریعتره، Zig رو بذارن کنار.
https://github.com/oven-sh/bun/commit/46d3bc29f270fa881dd5730ef1549e88407701a5
@codehalics | کدهالیک
Post #555
856

- ❤ 2
- 👍 1