Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Открыт код компилятора для языка программирования Mojo

18.08.2026 23:35 (MSK)

Разработчики языка программирования Mojo открыли исходный код компилятора и сопутствующего инструментария, необходимого для сборки проектов на языке Mojo. Код открыт под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2. Ранее в открытом доступе находился только код стандартной библиотеки, а код компилятора обещали открыть после стабилизации внутренней архитектуры, что было достигнуто в опубликованном на прошлой неделе релизе Mojo 1.0. Изменения от сторонних участников в кодовую базу компилятора пока не принимаются, но возможность передачи изменений планируют реализовать до конца года.

Язык Mojo развивается под руководством Криса Латнера (Chris Lattner), основателя и главного архитектора проекта LLVM и создателя языка программирования Swift. Синтаксис Mojo основан на языке Python, а система типов близка к C/C++. Проект преподносится как язык общего назначения, расширяющий возможности языка Python средствами системного программирования, подходящий для широкого круга задач и сочетающий простоту применения для исследовательских разработок и быстрого создания прототипов с пригодностью для формирования высокопроизводительных конечных продуктов.

Простота достигается благодаря использованию привычного синтаксиса языка Python, а разработке конечных продуктов способствуют возможность компиляции в машинный код, механизмы безопасной работы с памятью и задействование средств для аппаратного ускорения вычислений. Для достижения высокой производительности поддерживается распараллеливание вычислений с задействованием всех имеющихся в системе аппаратных ресурсов гетерогенных систем, таких как GPU, специализированные ускорители для машинного обучения и векторные процессорные инструкции (SIMD). При интенсивных вычислениях распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++.

Язык поддерживает статическую типизацию и средства для безопасной низкоуровневой работы с памятью, напоминающие возможности языка Rust, такие как отслеживание времени жизни ссылок и проверка заимствования переменных (borrow checker). При этом в языке доступны и возможности для низкоуровневой работы, например, возможно прямое обращение к памяти в режиме unsafe с использованием типа Pointer, вызов отдельных SIMD-инструкций или доступ к аппаратным расширениям, таким как TensorCores и AMX.

Mojo может использоваться как в режиме интерпретации с использованием JIT, так и для компиляции в исполняемые файлы (AOT, ahead-of-time). В компилятор встроены современные технологии автоматической оптимизации, кэширования и распределённой компиляции. Исходный код на языке Mojo преобразуются в низкоуровневый промежуточный код MLIR (Multi-Level Intermediate Representation), развиваемый проектом LLVM. Компилятор позволяет применять для генерации машинного кода различные бэкенды, поддерживающие MLIR.

  1. Главная ссылка к новости (https://www.modular.com/blog/m...)
  2. OpenNews: Релиз языка программирования Mojo 1.0
  3. OpenNews: Сотрудник Google развивает язык программирования Carbon, нацеленный на замену C++
  4. OpenNews: Создатель LLVM развивает новый язык программирования Mojo
  5. OpenNews: Открытие стандартной библиотеки языка Mojo. Обновление инструментария Mojo 24.2
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66092-mojo
Ключевые слова: mojo
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
 
  • 2.24, Аноним (24), 06:03, 19/08/2026 Скрыто ботом-модератором     [к модератору]
  • –7 +/
     
  • 1.6, Аноним (6), 00:27, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Пока-пока, Rust!
     
     
  • 2.10, Аноним (10), 01:06, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Надо будет посмотреть, что с реализацией идей. А то вдруг как и rust: идея хорошая, но реализация - не просто ужас, а ужас-ужас-ужас-ужас!
     
     
  • 3.16, Норм (?), 02:28, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Какие проблемы у реализации раста?
     
  • 3.19, zionist (ok), 03:16, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Borrow checking собираются улучшить, как раз для таких плакс как ты. Поэтому утрись и иди делать уроки.
     
     
  • 4.20, Аноним (20), 05:13, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Раз борова собираются улучшить, то он в данный момент недостаточно хорош?
     
     
  • 5.28, Аноним (28), 07:40, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Конечно недостаточно хорош, в любом нормальном языке написать связный список - как два пальца об асфальт, но только в расте для этого сначала нужно приложить титанические когнитивные усилия, сравнимые с изучением свежих препринтов по теории чисел с arXiv
     
     
  • 6.35, Вася Пупкин (?), 09:06, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Скилл ишью..
     
  • 2.11, Аноним (11), 01:12, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Пока-пока, Rust!

    Учитывая, что сабж, в отличие от Раста, сейчас использует ровно 0 корпов, то "пока-пока" с большой долей вероятности придется говорить именно Mojo. Без поддержки корпов оно даром никому будет не нужно. Язык D не даст соврать: тоже в свое время был "убийцей C++".

     
     
  • 3.12, Аноним (12), 01:24, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    modular и Mojo вроде юзают корпы? Если бы не юзали, modular закрылись бы, не?
     
  • 3.30, Аноним (30), 08:13, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Modular выкупили Qualcomm, стало быть, как минимум им оно и надо
     

  • 1.8, Джон Титор (ok), 00:46, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А как правильно читается название? Моджо или Мохо?
     
     
  • 2.32, Аноним (32), 08:50, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Мойó
     

  • 1.22, Аноним (22), 05:51, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Код открыт под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2.

    Пермиссивка.

    >Изменения от сторонних участников в кодовую базу компилятора пока не принимаются, но возможность передачи изменений планируют реализовать до конца года.

    До конца года нужно собрать устойчивый корпоративный костяк, чтобы сопротивлятся влиянию GNU.

    >Язык Mojo развивается под руководством Криса Латнера (Chris Lattner), основателя и главного архитектора проекта LLVM и создателя языка программирования Swift.

    О прям запахло корпоративными сговорами, перемигиваниями.

     
     
  • 2.29, Аноним (29), 08:09, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > До конца года нужно собрать устойчивый корпоративный костяк, чтобы сопротивлятся влиянию GNU.

    Если есть спонсор, почему нет.

     

  • 1.25, небесный ученый (ok), 06:03, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >При интенсивных вычислениях распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++.

    комрады, прокомментируйте пожалуйста

     
     
  • 2.27, X86 (ok), 06:45, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Язык медленный, но если сильно стараться и в специфических задачах может работать как питон в этих же  задачах
     
  • 2.31, Старый престарый аноним (?), 08:22, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если хорошо распараллелить, то будет также быстро как однопоточная сишка.
     
     
  • 3.37, Вася Пупкин (?), 09:19, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще популярное заблуждение что "однополосная сишка" - предел по скорости. Современные оптимизаторы у компиляторов способы быть более агрессивными если будут знать больше инвариантов про программу и обладать большим контекстом, например из системы типов. Догадываешься к чему веду? Да - и некоторые бенчи и не только показывают что эти ваши расты и зиги бывают обгоняют дедушку си
     
     
  • 4.38, Аноним (38), 09:24, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты хотел сказать исключительно в синтетических нагрузках, которые никогда не будут иметь значение в жизни, но тогда весь ответ теряет смысл, ведь правда же?
     
  • 2.36, Вася Пупкин (?), 09:15, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если использовать последние более очеловеченные стандарты крестов, в которых сложнее отстрелить ногу, то внезапно код становится не такой быстрый. Особенно если интенсивно использовать параллелизм. Вот и думай, комрад.
     
  • 2.40, Аноним (40), 10:04, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > комрады, прокомментируйте пожалуйста

    Пока академики пишут код на cpu и кривят нос от мысли написания портянок для ускорения на gpu, в mojo из коробки есть ускорение. В c/c++ нет такого распараллеливания - пиши его сам. Конечно, можно его написать и такой код будет сопоставимо быстрым.

     

  • 1.26, Сергей Макаров (?), 06:37, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Язык появился слишком поздно что бы взлететь. Скоро при приеме в разработку ПО не будут брать тех, кто понимает код. Они будут больше отвлекаться.
     
  • 1.33, limafresh (ok), 09:01, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    То есть он был не открыт? Открытая реализация - базовый минимум для любого языка программирования, если хотят чтобы его использовали не только детки автора.
     
  • 1.34, limafresh (ok), 09:05, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Код открыт под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2

    Как угодно извращаются чтобы не использовать просто MIT, для которой не нужно никаких исключений для совместимости с GPL 2.

     
  • 1.39, опеншлёпивпродакшн (?), 09:44, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужен язык программирования, который взрывает ПК, если ошибся в коде.
     
     
  • 2.45, Европа (?), 11:00, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    C (и его духовный наследник C++) уже изобретен. При любом undefined behavior компилятор имеет полное право впихнуть rm -rf. Просто все слишком культурные, стесняются.
     

  • 1.41, Аноним (41), 10:08, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почему в новости нигде не указано, на чём написан сам компилятор? Мне кажется, это должно быть в первом абзаце
     
     
  • 2.42, User (??), 10:23, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ээээ... а зачем?
     
     
  • 3.43, Аноним (41), 10:31, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для холивара =p
     

  • 1.44, Аноним (44), 10:36, 19/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Пecтoн (как и y6людckий JS) - ИТ-выcep, зачем на этом ещё основывать новые проекты? Пестон - он даже в школе не нужен, ибо порочен и неуклюж. Есть Паскаль для детей и D/C# для взрослой жизни. И тут вылезает самый умный и пилит мохо... 🤦
     
     
  • 2.46, Аноним (46), 11:02, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    микропитон и питон это все самое лучшее, наверное скоро появится micromojo и mojosjw
     
  • 2.47, Аноним (20), 11:33, 19/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Есть Паскаль для детей

    Нету. Паскаль нужно забыть. Не было никогда его.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру