مایکروسافت در تلاش برای بازنویسی کامل پایههای نرمافزاری خود
به نظر میرسد مایکروسافت قصد دارد تا شاید تا سال ۲۰۳۰، کل مبنای کد C و ++C خود را جایگزین کند. این شرکت غولپروانه نرمافزاری در حال بررسی انتقال پایگاه کد (codebase) به زبان Rust است و برای تحقق این هدف، استخدام مهندسان متخصص را آغاز کرده است.
گالن هانت، یکی از مهندسان ارشد مایکروسافت، در لينكدين نوشته است: «هدف من حذف هر خط کد C و ++C از مایکروسافت تا سال ۲۰۳۰ است.» او همچنین افزود: «استراتژی ما ترکیبی از هوش مصنوعی (AI) و الگوریتمها برای بازنویسی بزرگترین پایگاههای کدی است که مایکروسافت در اختیار دارد. ستاره راهنما (North Star) ما عبارت است از: یک مهندس، یک ماه، یک میلیون خط کد».
مایکروسافت پیشتر نیز اقداماتی را در این زمینه انجام داده بود. هانت اشاره میکند: «ما یک زیرساخت قدرتمند پردازش کد ساختهایم. زیرساخت الگوریتمی ما، نموداری مقیاسپذیر از کدهای منبع ایجاد میکند و سپس زیرساخت پردازش هوش مصنوعی به ما اجازه میدهد تا با استفاده از عوامل (agents) هوش مصنوعی که توسط الگوریتمها هدایت میشوند، تغییرات گستردهای در کد ایجاد کنیم».
کارکنانی که برای این موقعیت شغلی استخدام شوند، در گروه «آینده مهندسی نرمافزار قابل توسعه» مایکروسافت فعالیت خواهند کرد. این گروه ماموریت دارد تا «قابلیتهایی را برای حذف بدهی فنی (technical debt) در مقیاس بزرگ ایجاد کند». هانت توضیح میدهد که آنها ابزارهای جدید و تکنیکهای نوآورانه را با مشتریان داخلی و شرکا آزمایش میکنند و سپس از این قابلیتها برای استقرار گسترده در سراسر مایکروسافت و صنعت استفاده میکنند.
مایکروسافت پیشتر نیز بر لزوم افزایش استفاده از Rust تأکید کرده است. در سال ۲۰۲۲، مدیر ارشد فناوری (CTO) بخش ابری Azure شرکت خواسته بود که Rust به زبان پیشفرض برای پروژههای جدید تبدیل شود. دانشمندان مایکروسافت همچنین ابزاری را توسعه دادهاند که قادر به ترجمه خودکار بخشی از کدهای C به Rust است.
این غول نرمافزاری ابزارهایی نیز برای کمک به توسعهدهندگان در نوشتن درایورهای ویندوز با استفاده از Rust ایجاد کرده است. مایکروسافت طیف گستردهای از محصولات را ارائه میدهد. وبسایت MSportals.io بیش از ۵۰۰ پورتال آنلاین فعال برای مدیریت محصولات مایکروسافت را فهرست میکند! این شرکت همچنین یک اکوسیستم فناوری اطلاعات داخلی بسیار بزرگ دارد.
حجم تلاش مورد نیاز برای بازنویسی همه این موارد، فراتر از تصور است. بدون شک، مسائل حاشیهای (edge cases) بسیاری در این مسیر ظاهر خواهند شد که خودکارسازی قادر به رفع آنها نخواهد بود.
📌 توجه: این مطلب از منابع بینالمللی ترجمه و بازنویسی شده است.