مایکروسافت در حال آمادهسازی طرحی است که بر اساس آن میلیونها خط کد جدید جایگزین کدهای نوشتهشده با C و C++ در ویندوز و دیگر محصولات این شرکت شود. در این طرح، ترکیبی از هوش مصنوعی، الگوریتمها و کدِ نوشتهشده توسط انسان برای بازنویسی کتابخانههای عظیم نرمافزاری به کار گرفته میشود.
در یک آگهی شغلی برای سمت «مهندس ارشد نرمافزار (IC۵)» توضیح داده شده که فرد انتخابشده به تیمی میپیوندد که مأموریت آن ترجمه و مهاجرت سیستمهای نوشتهشده با C و C++ مایکروسافت به زبان برنامهنویسی Rust است.
راست زبانی مدرن است که برای سریعتر و قابلاعتمادتر کردن نرمافزار طراحی شده است. برخلاف زبانهای قدیمیتر مثل C و C++، راست حفاظتهای درونساختی دارد که جلوی بسیاری از خطاهای رایج برنامهنویسی را میگیرد.
این قابلیتها به توسعهدهندگان کمک میکند از باگهایی که میتوانند منجر به کرش، مشکلات امنیتی یا رفتارهای غیرقابلپیشبینی شوند، دور بمانند. هرچند یادگیری راست ممکن است زمانبر باشد؛ اما نتیجه، نرمافزاری ایمنتر و قابلاعتمادتر است.
طبق توضیحاتی که درباره این پروژه داده شده، هدف آن است که تا سال ۲۰۳۰ همهی خطوط کد C و C++ در مایکروسافت حذف و جایگزین شوند. راهبرد کلی، ترکیب هوش مصنوعی و الگوریتمها برای بازنویسی بزرگترین مخازن کد مایکروسافت است. هدف نهایی با این شعار خلاصه شده است: «۱ مهندس، ۱ ماه، ۱ میلیون خط کد». برای تحقق این هدف که پیشتر غیرقابل تصور به نظر میرسید، زیرساخت پردازش کد قدرتمندی ساخته شده است.
در این زیرساخت، لایهی الگوریتمی یک گراف مقیاسپذیر روی کد منبع در مقیاس بسیار بزرگ ایجاد میکند؛ سپس لایهی هوش مصنوعی این امکان را میدهد که عاملهای هوش مصنوعی، با هدایت الگوریتمها، تغییرات گسترده روی کد اعمال کنند. هستهی این زیرساخت هماکنون در مقیاس بزرگ برای مسائلی مانند درک و تحلیل کد به کار گرفته میشود.
با توجه به اینکه چند سال از عرضهی ویندوز ۱۱ میگذرد و مایکروسافت تازه بهتازگی به سمت یک حالت تیره نسبتاً یکدست در رابط کاربری رفته است، حذف همهی کدهای C و C++ تا سال ۲۰۳۰ هدفی بلندپروازانه به نظر میرسد؛ اما استفاده از هوش مصنوعی میتواند این روند را سرعت دهد و به نظر میرسد جابهجایی به راست برای مایکروسافت اولویتی بالاتر از یکدست کردن حالت تیرهی همهی بخشهای سیستمعامل دارد.
مایکروسافت از چند سال پیش بخشهایی از کد خود را به راست منتقل میکند. برای نمونه، در سال ۲۰۲۳ بازنویسی بخشهایی از هستهی ویندوز با راست آغاز شد. حتی پیش از اوجگیری عمومی هوش مصنوعی مولد، این شرکت در حال آزمایش استفاده از مدلهای زبانی بزرگ برای ترجمهی کد C و C++ به راست بود.
در مطالب فنی منتشرشده از سوی مایکروسافت درباره این گذار توضیح داده شده که دههها آسیبپذیری نشان دادهاند جلوگیری از باگهای مخرب حافظه هنگام استفاده از C و C++ تا چه حد دشوار است. هرچند زبانهای دارای مدیریت خودکار حافظه مثل C# و جاوا در برابر این نوع خطاها مقاومترند؛ اما در برخی سناریوها امکان استفاده از آنها وجود ندارد. برای این موارد، مایکروسافت راست را بهعنوان جایگزین C و C++ انتخاب کرده است؛ زبانی مدرن که قرار است با عملکردی در حد C و C++، در عین حال تضمینهای ایمنی حافظه و ایمنی همزمانی را در خود زبان ارائه کند.
در همین توضیحات تأکید شده که بازنویسی همهچیز با راست یکشبه ممکن نیست؛ با این حال، راست هماکنون در برخی از مهمترین اجزای زیرساخت آژور به کار رفته و انتظار میرود میزان استفاده از آن در گذر زمان به شکل چشمگیری افزایش یابد. مایکروسافت از یک «سرمایهگذاری عمده» طی چند سال آینده برای این تغییر صحبت کرده است.
نقش شغلی جدیدی که برای این طرح تعریف شده، ادامهدهندهی همین روند نوسازی کد در چارچوب گروه Future of Scalable Software Engineering در سازمان EngHorizons و بخش Microsoft CoreAI خواهد بود.
آیا راست از C و C++ برای برنامهنویسی بهتر است؟
از جنبههای مختلف میتوان راست را از C و C++ بهتر دانست. راست در کل ایمنتر و امنتر است و نوشتن کد در آن معمولاً سادهتر از این دو زبان قدیمیتر است.
از آنجا که راست بسیار جدیدتر از C و C++ است، معمولاً لازم است برای مهاجرت، کد تازه نوشته شود. هرچند این کار پرزحمت است؛ اما در بسیاری از سیستمهای قدیمی که کد آنها بهصورت وصلهپینهای یا «اسپاگتی» رشد کرده، یک بازنویسی اصولی میتواند بهبود چشمگیری ایجاد کند.
با این حال، C++ اکوسیستم بسیار بزرگ و جاافتادهای دارد؛ بنابراین گذار به راست میتواند در عمل کار و هزینهی زیادی بطلبد و نیازمند برنامهریزی بلندمدت باشد.









