Mojo (язык программирования)
Mojo — специализированный язык программирования, созданный компанией Modular и ориентированный на разработку в сфере машинного обучения[1][2][3]. Выпущенный в мае 2023 года, Mojo позиционируется как более продвинутая альтернатива Python, практически полностью совместим с ним и его библиотеками, но при этом показывает лучшую производительность аналогичную таким довольно низкоуровневым языкам программирования как C и C++.
Mojo | |
---|---|
Класс языка | язык программирования |
Появился в | 2023 |
Автор | Крис Латтнер |
Разработчик | Modular Inc. |
Расширение файлов |
.mojo |
Испытал влияние | Python, Rust |
Сайт | modular.com/mojo |
Платформа | Кроссплатформенный |
Дизайн и разработкаПравить
Впервые Mojo был анонсирован в сентябре 2022 года. Тогда же было заявлено о его расширенных возможностях компиляции на основе MLIR, компиляционного фреймворка Multi-Level Intermediate Representation[4][5][1][6].
Mojo обладает гибридной системой типов, являющейся чем-то средним между статической и динамической типизациями. Благодаря этому, разработчик при написании программы может выбирать между более высокопроизводительной статической или более гибкой динамической системами типов.
Также Mojo по-умолчанию использует технологию Modular Inference Engine (Модульный Интерфейс Выводов), позволяющий упростить процесс разработки и масштабирования систем искусственного интеллекта[7].
Совместимость с PythonПравить
Mojo нацелен на полную совместимость с экосистемой Project Jupyter. На данный момент он ещё не обладает полной совместимостью с кодом Python, имея способность обрабатывать лишь часть его синтаксиса. Например, в Mojo пока отсутствуют именованные аргументы функций, ключевое слово «global», а также специальные выражения для компактного создания списков и словарей.
В свою очередь Mojo имеет и некоторые уникальные синтаксические средства, например низкоуровневые функции и структуры «struct», являющиеся более оптимизированной с точки зрения потребления памяти альтернативой классам Python[8].
Mojo может выполнять существующий код Python 3.x, повторно используя среду выполнения CPython. Также Modular планируют добавить в язык прозрачную интеграцию модулей Clang C/C++ и прозрачную генерацию интерфейса внешних функций между C/C++ и Mojo.
ПримечанияПравить
- ↑ 1 2 Paul Krill. Mojo language marries Python and MLIR for AI development (англ.). InfoWorld (4 мая 2023). Дата обращения: 19 июня 2023.
- ↑ Thomas Claburn. Modular reveals Mojo, Python superset with C-level speed (англ.). www.theregister.com. Дата обращения: 19 июня 2023.
- ↑ Mohit Pandey. This New Programming Language is Likely to Replace Python (амер. англ.). Analytics India Magazine (3 мая 2023). Дата обращения: 19 июня 2023.
- ↑ Modular Docs - Mojo🔥 changelog (англ.). docs.modular.com. Дата обращения: 19 июня 2023.
- ↑ Chris Lattner, Jacques Pienaar. MLIR Primer: A Compiler Infrastructure for the End of Moore’s Law. — 2019.
- ↑ MLIR: A Compiler Infrastructure for the End of Moore's Law (англ.).
- ↑ Modular Docs - Modular Inference Engine (англ.). docs.modular.com. Дата обращения: 19 июня 2023.
- ↑ Serdar Yegulalp. A first look at the Mojo language (англ.). InfoWorld (7 июня 2023). Дата обращения: 19 июня 2023.