Mojo در مقابل Rust :برنده قطعا Mojo خواهد بود!
Mojo به عنوان عضوی از خانواده پایتون با کارآیی باورنکردنی نویدبخش آیندهای روشن برای توسعه کدهای هوش مصنوعی با توان عملیاتی بسیار بالا و بهینه است.
وقتی که مقاله «Mojo، زبانی که ۹۰ هزار بار سریعتر از پایتون است، نهایتا متنباز شد … » را در مدیوم دیدم اول به ذهنم رسید که شاید با یک مقاله تبلیغاتی طرف هستم اما با توجه به عددی که در بهبود سرعت پایتون نشان میداد، وسوسه شدم که مقاله را که اخیرا هم نوشته شده است به طور کامل بخوانم.
Mojo, 90,000 Times Faster Than Python, Finally Open Sourced!
On March 29, 2024, Modular Inc. announced the open sourcing of the core components of Mojo.
https://blog.stackademic.com/mojo-90-000-times-faster-than-python-finally-open-sourced-777bdd9a1896
مقاله به بهانه متنباز شدن زبان برنامه نویسی Mojo – توسط شرکت Modular – که مانع اصلی در جذب برنامهنویسان به این زبان بود، نوشته شده است و مروری دارد بر معرفی و بررسی دلایل کارآیی فوقالعاده آن و استقبال از متنباز شدن Mojo به عنوان موتور محرکه عمومی شدن آن.
خلاصه مقاله این است که بعد از فیدبک های اولیه مثبت نسبت به این زبان، با توجه به اینکه یکی از توسعهدهندگان اصلی این زبان یعنی کریس لتنر در معماری زبان سوئیفت و همچنین ایجاد فناوری LLVM (مبنایی برای توسعه کامپایلرها و زبانهای برنامهنویسی نوین) نقش اساسی داشته است، انتظار میرفت که این زبان، یک حرکت رو به جلو در زبانهای برنامه نویسی باشد.
سوالهایی زیادی راجع به مقایسه سرعت و کارآیی موجو با Rust پرسیده میشد و جواب مشخص و تست شدهای هم برای پاسخ به آن وجود نداشت (به عنوان یک Baseline در بخش زبانهای سریع و با کارآیی بالا، Rust را مبنا گرفته بودند تا حدودا مشخص شود با چه بهبود سرعتی در Mojo مواجه هستند و اصلا آنرا جدی بگیرند یا نه) تا اینکه یکی از مدافعان نامدار زبان Rust با نام کاربری @ThePrimeagen (در توئیتر) پروژهای را برای پردازش DNA با Rust و Mojo نوشت که در آن، Mojo حدود ۵۰ درصد سریعتر از Rust بود.
نتایج این مقایسه در توئیتر منتشر شد و ThePrimeagen اذعان کرد که اگر Mojo فراگیر شود، در رقابت با Rust قطعا برنده خواهد بود چون هم سریعتر است و هم شبیه به زبانهای رایج بخصوص پایتون است .
در پاسخ به این توئیت، نویسنده کتاب Rust: From Zero to Production یعنی Luca Palmieri تایید کرد که اگر Mojo عمومی شود، Rust دیگر در حوزه هوش مصنوعی شانسی نخواهد داشت چون هم برای دانشمندان داده، یک زبان آشنا و تقریبا شبیه به پایتون است و هم عملکرد و سرعت آن بالاتر است.
Modular states that Mojo is the first programming language to fully leverage the advanced features of MLIR. It can generate CPU code with higher optimization and also supports GPU and other accelerators, with significantly faster speeds than Rust.
با خواندن این مقاله من هم قانع شدم که باید در ماهها و سالهای پیشرو، خبرهای بسیار بیشتری از این زبان بشنویم و با توجه به کندی پایتون در محیطهای عملیاتی، استقبال جامعه توسعه دهندگان هوش مصنوعی از آن ناگزیر خواهد بود.
اگر احیانا با این زبان کار نکردهاید و درباره آن کنجکاو هستید، لینک زیر که بخشی از راهنمای اصلی زبان Mojo است، میتواند به شما در آشنایی با این زبان کمک کند :
Introduction to Mojo | Modular Docs
Introduction to Mojo’s basic language features.
https://docs.modular.com/mojo/manual/basics
به طور خلاصه، زبان جدید Mojo که میتواند دغدغه سرعت را در حوزه هوش مصنوعی از نقطه نظر زبان برنامهنویسی رفع کند دارای نقاط قوت زیر است :
- ترکیبی از سادگی و قابلیت استفاده را دارد یعنی مانند پایتون است اما عملکردی بهتر از زبان سی دارد.
- پشتیبانی کامل از برنامهنویسی موازی بر روی پردازندههای چندهستهای و بردارها و شتابدهندههای گرافیکی و GPU ها دارد.
- قادر است از پکیجهای پایتون مانند Numpy، Pandas مستقیما استفاده کند.
- از نوع زبانهای استاتیک است که در آنها، نوع دادهها هنگام کامپایل باید مشخص باشد .