У Mojo появился первый стабильный ориентир. Версия 1.0 не делает ставку на громкую новую функцию, а решает проблему, которая сопровождала язык с момента появления: быстрые изменения синтаксиса, типов и стандартной библиотеки усложняли работу с уже написанным кодом.
Modular заявляет, что в Mojo 1.0 была проведена унификация нескольких ранее разных способов записи конструкций языка. В частности, изменения затронули объявления переменных, замыкания и типы указателей. Также появилась поддержка синтаксиса анонимных функций lambda, знакомого разработчикам Python.
Отдельное внимание команда уделила ошибкам, связанным с недействительными ссылками на данные. В качестве примера Modular приводит ситуацию со списком, когда добавление нового элемента может привести к перераспределению памяти. Ссылка на прежнее расположение данных после этого становится некорректной, а ошибка может проявиться далеко от места, где возникла проблема. Mojo 1.0 получил диагностику таких случаев, чтобы сообщать о потенциальной ошибке раньше.
Для языка, который создавался как вариант между удобством Python и возможностями низкоуровневой разработки, стабильность основы сейчас важнее расширения списка функций. Modular признает, что предыдущий этап активной разработки приводил к дополнительным затратам на поддержку проектов. При этом компания не обещает полной неизменности: в ветке Mojo 1.x возможны изменения совместимости, но их планируют вводить осторожнее.
Mojo уже применяется для разработки программ под CPU, GPU и другие вычислительные ускорители. Следующими направлениями развития названы асинхронное программирование, сопоставление с образцом и объединенные типы. Открытие компилятора и инструментов разработки должно дать сообществу больше возможностей влиять на экосистему языка.
Пока Mojo остается молодым проектом, которому предстоит конкурировать не только с Python, но и с более зрелыми решениями для высокопроизводительных вычислений. Версия 1.0 важна не тем, что превращает язык в готовую замену существующим инструментам, а тем, что дает разработчикам более понятную точку отсчета для долгосрочной работы.
Mojo 1.0 пытается стать стабильным языком для ИИ-разработки
Mojo 1.0 вышел с главной целью, которая важнее новых возможностей: Modular попыталась остановить постоянные изменения языка, мешавшие разработчикам поддерживать проекты. Теперь команда обещает более осторожно менять основу Mojo и открыть компилятор вместе с инструментами в течение года.

Автор: ITHome
Источник: ITHome
9 показов







