Mojo 1.0 منتشر شد؛ پایه‌ای پایدار برای رشد اکوسیستم

زبان برنامه‌نویسی Mojo رسماً به نسخه 1.0 رسید؛ نقطه عطفی مهم که پایه‌ای پایدار و آماده تولید را برای توسعه‌دهندگان فراهم می‌کند.

·۹ دقیقه برای خواندن
Mojo 1.0 منتشر شد؛ پایه‌ای پایدار برای رشد اکوسیستم

امروز زبان برنامه‌نویسی Mojo رسماً به نسخه 1.0 رسید؛ نقطه عطفی که این زبان از زمان انتشار نخستین نسخه خود در سال ۲۰۲۳ برای رسیدن به آن تلاش کرده است. Mojo اکنون به یک زبان برنامه‌نویسی همه‌منظوره با جامعه‌ای فعال از توسعه‌دهندگان تبدیل شده که کتابخانه‌ها، ابزارها و برنامه‌های خود را بر پایه آن می‌سازند. با انتشار Mojo 1.0، توسعه‌دهندگان اکنون می‌توانند پروژه‌های بلندمدت خود را بر پایه زبانی پایدار و آماده استفاده در محیط تولید بنا کنند.

Mojo 1.0: پایه‌ای پایدار برای رشد اکوسیستم

Modular زبان Mojo را از طریق استفاده گسترده داخلی با سرعت زیادی توسعه داده است. اما این سرعت پیشرفت یک هزینه نیز داشته است: تغییرات مکرر باعث شده بود نگهداری پروژه‌های بلندمدت برای جامعه توسعه‌دهندگان دشوار باشد.

همان‌طور که هنگام اعلام نخستین برنامه برای رسیدن به Mojo 1.0 بیان کردیم، هدف اصلی این نسخه فراهم کردن یک پایه پایدار است که توسعه‌دهندگان بتوانند پروژه‌های خود را بر اساس آن بسازند. ما امروز این تعهد را می‌پذیریم، زیرا Mojo آماده است: این زبان دیگر صرفاً زبانی نیست که در حال توسعه آن باشیم؛ بلکه زبانی است که هر روز در محیط تولید به آن وابسته هستیم و از آن به‌عنوان پایه زیرساخت‌های تجاری خود، یعنی MAX و Modular Cloud، استفاده می‌کنیم.

نکته مهم این است که Mojo 1.0 به معنای پایان تکامل این زبان نیست، بلکه نقطه عطف مهمی در مسیر طولانی‌تر توسعه آن محسوب می‌شود. در بازه نسخه‌های 1.x، تغییرات باید عمدتاً به‌صورت افزایشی باشند تا توسعه‌دهندگان اطمینان داشته باشند که ساختار زبان دائماً زیر پای آن‌ها تغییر نخواهد کرد. البته ممکن است همچنان تغییرات ناسازگار (Breaking Changes) انجام شوند، اما این تغییرات با دقت مدیریت خواهند شد و از استانداردهای تکامل زبان‌های بالغی مانند C++ پیروی خواهند کرد.

با این حال، این نقطه عطف به همان اندازه که متعلق به ماست، متعلق به جامعه فوق‌العاده Mojo نیز هست. از زمانی که کتابخانه استاندارد را به‌صورت متن‌باز منتشر کردیم، نزدیک به ۲۰۰ مشارکت‌کننده بیش از ۱۱۰۰ Pull Request را ثبت کرده‌اند که در مجموع بیش از ۲۰۰ هزار خط کد را تغییر داده‌اند. بیش از هزار توسعه‌دهنده دیگر نیز Issueهایی ثبت کرده‌اند که به شکل‌گیری و بهبود زبان کمک کرده است. از تک‌تک توسعه‌دهندگانی که Issue ثبت کردند، Pull Request فرستادند، پیشنهادهایی برای زبان ارائه کردند یا یک Package ساختند، صمیمانه تشکر می‌کنیم؛ شما نیز در کنار ما از معماران این زبان بوده‌اید.

بهبودهای Mojo در نسخه 26.5

بخش قابل‌توجهی از این انتشار بر تکمیل کارهای موردنیاز برای Mojo 1.0 متمرکز است؛ مسیری که در چندین نسخه اخیر نیز ادامه داشته و هدف آن سازگارتر، قابل پیش‌بینی‌تر و قابل فهم‌تر کردن زبان بوده است.

در مواردی که Mojo چند روش مختلف برای بیان یک مفهوم ارائه می‌کرد، اکنون روی یک روش واحد به توافق رسیده‌ایم. متغیرها اکنون به‌صورت یکپارچه با var تعریف می‌شوند، Closureها یکپارچه شده‌اند، تنها یک نوع Pointer وجود دارد و تعدادی تغییر نام نیز باعث شده‌اند واژگان مورد استفاده در Mojo دقیق‌تر و یکپارچه‌تر شوند.

این نسخه آخرین مرحله ساده‌سازی و پاک‌سازی زبان را تکمیل می‌کند و به Mojo 1.0 پایه‌ای پایدار و منسجم می‌دهد؛ پایه‌ای که می‌خواهیم توسعه‌دهندگان بتوانند برای سال‌های آینده پروژه‌های خود را بر اساس آن بسازند.

علاوه بر این کارهای بنیادی، Mojo 1.0 از زمان آخرین نسخه بتا شامل چندین قابلیت و بهبود جدید نیز شده است:

  • Mojo اکنون از سینتکس lambda مشابه Python برای Closureهای درون‌خطی پشتیبانی می‌کند.
  • سرور Mojo LSP بسیار پایدارتر و قابل‌اعتمادتر شده است و تجربه روزمره کار با VS Code و سایر ویرایشگرها را به شکل قابل‌توجهی بهبود می‌دهد.
  • Mojo AI Skills اکنون برای نسخه 1.0 آماده هستند و مواردی مانند ایجاد پروژه جدید، برنامه‌نویسی GPU، انتقال کد از زبان‌های دیگر و موارد دیگر را پوشش می‌دهند.
  • Mojo اکنون مشکلات مربوط به Memory Safety را که در اثر نامعتبر شدن Referenceها ایجاد می‌شوند تشخیص می‌دهد؛ برای مثال می‌تواند متوجه شود که List.append یک Reference موجود به داخل List را نامعتبر کرده است.
  • Clauseهای where اکنون به‌صورت یکپارچه‌تری در سراسر کتابخانه استاندارد استفاده می‌شوند و امکان ارائه یک پیام توصیفی را فراهم می‌کنند تا خطاها قابل‌فهم‌تر و رفع آن‌ها ساده‌تر شود.

این‌ها تنها بخشی از مهم‌ترین تغییرات هستند. برای مشاهده فهرست کامل تغییرات می‌توانید Changelog کامل Mojo را در mojolang.org مشاهده کنید.

Mojo از اینجا به کجا می‌رود؟

Mojo 1.0 یک نقطه عطف مهم است، اما برنامه‌های بسیار بیشتری برای آینده این زبان داریم. Mojo تاکنون خود را به‌عنوان زبانی قدرتمند برای نوشتن کدهای با کارایی بالا روی CPUهای مدرن، GPUها و شتاب‌دهنده‌ها تثبیت کرده است. مرحله بعدی تکامل Mojo، گسترش این پایه و تبدیل آن به یک زبان واقعاً قدرتمند و همه‌منظوره برای برنامه‌نویسی سیستمی است.

این مسیر به معنای ادامه سرمایه‌گذاری روی هسته زبان و تجربه توسعه‌دهنده است و قابلیت‌های مهمی مانند یک مدل قدرتمند برای برنامه‌نویسی Asynchronous، Pattern Matching، Unionها و موارد بسیار دیگری در راه هستند. می‌توانید مسیر توسعه آینده را در Roadmap زبان Mojo مشاهده کنید.

در نهایت، ما به انتشار تدریجی بخش‌های بیشتری از زبان Mojo به‌صورت متن‌باز ادامه خواهیم داد. همچنین برخی از مؤلفه‌های MAX را که با Mojo ساخته‌ایم نیز به‌صورت متن‌باز منتشر خواهیم کرد. تعهد ما همچنان پابرجاست: کامپایلر و Toolchain زبان Mojo را در سال ۲۰۲۶ به‌صورت متن‌باز منتشر خواهیم کرد.

بهبودهای MAX در نسخه 26.5

اگرچه Mojo 1.0 مهم‌ترین بخش این انتشار است، نسخه 26.5 بهبودهایی را برای MAX نیز به همراه دارد.

نصب MAX اکنون ساده‌تر شده است. می‌توانید از max["serve"] و max["benchmark"] استفاده کنید؛ در صورت استفاده از conda، معادل آن‌ها max-serve و max-benchmark هستند. به این ترتیب تنها وابستگی‌هایی که به آن‌ها نیاز دارید نصب می‌شوند. همچنین می‌توانید از max["all"] برای نصب همه موارد استفاده کنید. Package مربوط به modular نیز در نسخه 26.6 بازنشسته خواهد شد.

MAX اکنون از دو خانواده مدل جدید نیز پشتیبانی می‌کند: GLM-5.2 و Nemotron-H که هر دو مدل‌های Hybrid Mamba-2 هستند. همچنین Kimi 2.5 اکنون با Module V3 کار می‌کند؛ مسیری ساده‌تر برای توسعه و تعریف مدل‌ها.

در نهایت، مجموعه Open Source Agent Skills ما راه بسیار خوبی برای شروع کار با این نسخه است. ما از این Skills در داخل شرکت برای سرعت بخشیدن به فرایند آماده‌سازی کامل چرخه عمر مدل‌ها استفاده کرده‌ایم و این مجموعه تاکنون بیش از ۷.۲ هزار دانلود در skills.sh داشته است.

برای مشاهده فهرست کامل به‌روزرسانی‌ها، Changelog مربوط به MAX را ببینید.

شروع کار با 26.5 و Mojo 1.0

برای شروع کار تنها چند دقیقه زمان نیاز دارید. می‌توانید Mojo و MAX را نصب یا به آخرین نسخه ارتقا دهید:

bash

uv pip install --upgrade mojo

uv pip install max[all]