Interested Article - Mojo (язык программирования)

Mojo — специализированный язык программирования , созданный компанией Modular и ориентированный на разработку в сфере машинного обучения . Выпущен в мае 2023 года. Mojo позиционируется как более продвинутая альтернатива Python , практически полностью совместим с ним и его библиотеками, но при этом показывает лучшую производительность, аналогичную таким довольно низкоуровневым языкам программирования как C и C++ .

Ключевые приоритеты языка: разработка в области искусственного интеллекта и системное программирование. Язык умеет взаимодействовать с SIMD -командами, из-за чего позволяет выполнять множество алгебраических операций за раз, что положительно сказывается на производительности.

Mojo не имеет сборщика мусора, вместо этого он использует семантику перемещения сильно похожую на ту, что есть в Rust . Данный подход позволяет языку безопасно и быстро удалять неиспользуемые ресурсы и отказаться от использования рантайма .

Дизайн и разработка

Впервые Mojo был анонсирован в сентябре 2022 года. Тогда же было заявлено о его расширенных возможностях компиляции на основе MLIR , компиляционного фреймворка Multi-Level Intermediate Representation .

Mojo обладает гибридной системой типов, являющейся чем-то средним между статической и динамической типизациями. Благодаря этому разработчик при написании программы может выбирать между более высокопроизводительной статической или более гибкой динамической системами типов.

Также Mojo по умолчанию использует технологию Modular Inference Engine (Модульный Интерфейс Выводов), позволяющий упростить процесс разработки и масштабирования систем искусственного интеллекта .

Совместимость с Python

Mojo нацелен на полную совместимость с экосистемой Project Jupyter . На данный момент [ когда? ] он ещё не обладает полной совместимостью с кодом Python, имея способность обрабатывать лишь часть его синтаксиса. Например, в Mojo пока отсутствуют именованные аргументы функций, ключевое слово «global», а также специальные выражения для компактного создания списков и словарей.

В свою очередь Mojo имеет и некоторые уникальные синтаксические средства, например низкоуровневые функции и структуры «struct», являющиеся более оптимизированной с точки зрения потребления памяти альтернативой классам Python .

Mojo может выполнять существующий код Python 3.x, повторно используя среду выполнения CPython . Также Modular планируют добавить в язык прозрачную интеграцию модулей Clang C/C++ и прозрачную генерацию интерфейса внешних функций между C/C++ и Mojo.

Примечания

  1. Paul Krill. (англ.) . InfoWorld (4 мая 2023). Дата обращения: 19 июня 2023. 5 мая 2023 года.
  2. Thomas Claburn. (англ.) . www.theregister.com . Дата обращения: 19 июня 2023. 2 сентября 2023 года.
  3. Mohit Pandey. (амер. англ.) . Analytics India Magazine (3 мая 2023). Дата обращения: 19 июня 2023. 30 мая 2023 года.
  4. (англ.) . docs.modular.com . Дата обращения: 19 июня 2023. 1 ноября 2023 года.
  5. Chris Lattner, Jacques Pienaar. . — 2019. 25 мая 2023 года.
  6. (англ.) . Дата обращения: 19 июня 2023. 17 августа 2023 года.
  7. (англ.) . docs.modular.com . Дата обращения: 19 июня 2023. 11 июня 2023 года.
  8. Serdar Yegulalp. (англ.) . InfoWorld (7 июня 2023). Дата обращения: 19 июня 2023. 18 августа 2023 года.

Ссылки

Источник —

Same as Mojo (язык программирования)