Mojo — язык программирования от создателя Swift — достиг важного рубежа: теперь его код можно вызывать из Python! 🐍🔥 Это открывает новые возможности для интеграции и высокой производительности. Кто уже пробовал?
Технический прорыв: Python получает доступ к Mojo
Сегодня, 25 мая 2025 года, язык программирования Mojo достиг важной вехи в развитии. Разработчики из компании Modular.AI объявили о реализации возможности вызова кода на Mojo непосредственно из Python. Это открывает новые горизонты для высокопроизводительных вычислений, особенно в области искусственного интеллекта.
Mojo: высокопроизводительный «старший брат» Python
Mojo — это язык программирования, созданный Крисом Латтнером (известным как создатель Swift) в 2023 году. Язык позиционируется как надмножество Python с добавлением возможностей для написания высокопроизводительного кода, использующего современные ускорители (GPU и другие).
Ключевые особенности Mojo:
- Сохранение синтаксической совместимости с Python
- Возможности низкоуровневой оптимизации
- Поддержка современных вычислительных ускорителей
- Прогрессивная система типов
Технические детали интеграции
Новая функциональность позволяет:
- Вызывать функции, написанные на Mojo, из Python-кода
- Передавать данные между Python и Mojo с минимальными накладными расходами
- Использовать ускорители (включая GPU) через Mojo из Python-приложений
Для использования новой возможности доступны несколько вариантов установки:
- Через pip:
pip install modularилиpip install max - Через Conda с использованием Magic/Pixi
Практические примеры
Команда Modular.AI уже опубликовала несколько демонстрационных примеров на GitHub:
- Базовый пример «Hello World», демонстрирующий переход из Python в Mojo и обратно
- Пример использования GPU через Mojo из Python
# Пример вызова функции на Mojo из Python import mojo result = mojo.compute_heavy_task(data) # Функция compute_heavy_task реализована на Mojo
Ограничения и перспективы
Важно отметить текущие ограничения:
- Не все функциональные возможности Mojo доступны через Python-интерфейс
- Некоторые типы данных могут требовать дополнительной конвертации
- Отсутствие поддержки некоторых специфических функций ускорителей
Команда разработчиков активно работает над устранением этих ограничений и призывает сообщество тестировать новую функциональность и делиться отзывами.
Значение для индустрии
Эта интеграция открывает путь для:
- Постепенной миграции узких мест производительности в Python-коде на Mojo
- Использования преимуществ Mojo в существующих Python-проектах без полного переписывания
- Ускорения вычислений в области машинного обучения и научных расчетов
Mojo остается бесплатным для исследований, хобби-проектов и обучения, а также для использования на x86, ARM CPU и NVIDIA GPU.
Выводы
Интеграция Python и Mojo — важный шаг в развитии экосистемы высокопроизводительных вычислений. Это позволяет сочетать простоту и широкую распространенность Python с производительностью Mojo, открывая новые возможности для разработчиков, особенно в области искусственного интеллекта и научных вычислений.
