Mojo, новый язык от Криса Латтнера и его компании Modular, специализирующейся на искусственном интеллекте, вошел в топ-50 индекса TIOBE, несмотря на то, что он был запущен только в 2023 году.
Должен признаться, что я не слышал о Mojo до того, как прочитал последнюю заметку Пола Янсена об индексе TIOBE. Он пишет:
Язык Mojo, представляющий собой смесь Python и Swift, но гораздо более быстрый, впервые вошел в топ-50. Тот факт, что этому языку всего 1 год, а он уже показывает себя, делает его очень перспективным.
Из моего исследования языка следует, что это не что иное, как суперсет Python с типами, хотя влияние Swift проистекает из того факта, что у них один и тот же автор.
Mojo - лишь последний в череде впечатляющих компиляторов и языков от Криса Латтнера. Будучи аспирантом Иллинойского университета в Урбане-Шампейне в 2000 году, он стал одним из создателей LLVM (Low-Level Virtual Machine) - модульной инфраструктуры компиляторов, которая считается краеугольным камнем современных языков и инструментов программирования. Придя в Apple в 2005 году, Латтнер возглавил разработку языка программирования Swift, запущенного в 2014 году. В 2017 году совместно с исследователями из Google он разработал инфраструктуру компиляторов MLIR (Multi-Level Intermediate Representation). Созданная для обеспечения унифицированного представления различных уровней абстракции в языках программирования и аппаратных архитектурах, MLIR была принята в нескольких крупных проектах, включая TensorFlow, PyTorch и компилятор XLA.
В 2023 году, после работы в Tesla, где он руководил разработкой технологии самоуправляемых автомобилей компании. Латтнер основал Modular, технологическую компанию, ориентированную на ИИ, целью которой является создание платформы для унификации мировой инфраструктуры ML/AI, работающей на TPU и выше, что привело к необходимости создания языка программирования Mojo.
Mojo - это надмножество Python, на которое повлияли C и MLIR. По описанию, он сочетает в себе удобство Python и производительность C, чтобы раскрыть беспрецедентную программируемость аппаратных средств ИИ и расширяемость моделей ИИ.
Mojo значительно быстрее Python благодаря статической типизации и компиляции в нативный код, и, хотя оба языка имеют схожий синтаксис, Mojo включает в себя более современные функции языка, такие как сопоставление шаблонов и вывод типов.
Мне захотелось узнать о Mojo побольше, и кто мог бы представить его лучше, чем его создатель Крис Латтнер. К счастью, Лекс Фридман уже дал интервью:
Одним из забавных моментов стало то, что Mojo использует эмодзи огня в качестве расширения файла, в чем вы можете убедиться сами, посетив площадку Mojo Playground:mojo playground

Modular также предоставляет MAX, платформу Modular Accelerated Xecution, унифицированный набор API и инструментов, которые помогают создавать и развертывать высокопроизводительные конвейеры ИИ. Идея заключается в том, что Mojo с MAX позволяет достичь современных показателей латентности и пропускной способности без написания низкоуровневого кода CUDA. Также есть менеджер пакетов под названием Magic, CLI, который позволяет мгновенно запускать примеры кода и создавать новые проекты, полностью содержащиеся и воспроизводимые в разных системах. Последняя версия - MAX 24.5, а вместе с ней выходит Mojo 24.5, который описывается как самый большой релиз в истории, и который включает в себя несколько новых изменений основного языка, наиболее важным из которых является унифицированный тип указателя UnsafePointer, а также улучшения стандартной библиотеки.