Ресурсы и сообщества
This content is not available in your language yet.
Этот курс — хорошее начало, но не последний источник. Здесь собрано то, куда стоит идти дальше. Все ссылки проверены при написании страницы; если какая-то умерла, напишите нам.
Почти всё ниже — на английском: русскоязычных материалов по Mojo пока очень мало (подробнее — в разделе «На русском языке»).
Официальная документация
Заголовок раздела «Официальная документация»| Ресурс | Что там |
|---|---|
| Руководство (Manual) | язык по темам, от переменных до метапрограммирования; то, на что опирается этот курс |
| Стандартная библиотека | справочник по всем типам и функциям: String, List, SIMD, Python и остальным |
| Справочник языка | точные правила синтаксиса, когда руководства мало |
| Командная строка | все команды и флаги mojo |
| Шпаргалки | шесть официальных шпаргалок в PDF: основы, этап компиляции, трейты, владение, типы, преобразования |
| Выпуски | что изменилось в каждой версии; читайте при каждом обновлении |
| Дорожная карта | что в языке уже есть, что в работе и что только планируется |
| Системные требования | поддерживаемые ОС, процессоры и видеокарты |
Для программирования видеокарт документация живёт отдельно, на сайте MAX: Get started with GPU programming и GPU programming fundamentals. Для практики — Mojo GPU Puzzles: задачи от простых к сложным. Для них нужна видеокарта, лучше NVIDIA.
Исходники — тоже документация
Заголовок раздела «Исходники — тоже документация»Компилятор и стандартная библиотека Mojo открыты:
github.com/modular/modular.
Когда документация молчит, откройте исходник: стандартная библиотека
лежит в папке Mojo/stdlib/std. Так, например, для этого курса мы
выяснили, что // и % у целых на ноль возвращают 0, а не падают, —
это написано прямо в коде SIMD.__floordiv__.
Сообщество
Заголовок раздела «Сообщество»| Где | Для чего |
|---|---|
| Форум Modular | развёрнутые вопросы, обсуждение предложений по языку, анонсы; ответы находятся поиском и через год |
| Discord | быстрые вопросы и живое общение; ответы в чате потом трудно найти |
| Issues на GitHub | ошибки в компиляторе и стандартной библиотеке — с минимальным примером |
| YouTube Modular | записи ежемесячных встреч сообщества и технические доклады |
| События | встречи, хакатоны, онлайн-трансляции |
Все площадки англоязычные. Вопрос на форуме стоит писать по-английски: так он найдёт больше отвечающих, и больше людей найдут ответ потом.
Библиотеки
Заголовок раздела «Библиотеки»Отдельного реестра пакетов, как PyPI у Python, у Mojo нет. Роль общего хранилища играет канал modular-community: библиотеки оттуда ставятся менеджером окружений pixi. Как опубликовать туда свою библиотеку — в главе «Упаковка и распространение».
Большой список проектов на Mojo — awesome-mojo. Учтите, что многие проекты там написаны для версий до 1.0 и без переделки не соберутся.
Другие учебники
Заголовок раздела «Другие учебники»Mojo Miji — подробный англоязычный учебник для тех, кто пришёл из Python. Написан под Mojo 1.0. Что поменялось в 1.1, смотрите в главе «Что нового в Mojo».
На русском языке
Заголовок раздела «На русском языке»Кроме этого курса, на русском есть в основном новости и обзоры:
- Релиз Mojo 1.0 и релиз Mojo 1.1 — новости на Хабре;
- Mojo 1.0 вышел из бета-тестирования. Что это за язык и зачем он нужен — обзорная статья на Хабре;
- Mojo в Википедии.
Живого русскоязычного чата или форума по Mojo на момент написания мы не нашли. Вопросы по курсу задавайте в issues репозитория курса. Если вы знаете активное сообщество, напишите туда же — добавим ссылку.
ИИ-ассистенты
Заголовок раздела «ИИ-ассистенты»Языковые модели учились на тех самых старых статьях и охотно пишут fn,
let и alias. Две вещи заметно улучшают их ответы:
- Дайте модели актуальную документацию. Modular выкладывает её в виде, удобном для моделей: mojolang.org/llms.txt — оглавление, llms-full.txt — полный текст руководства и справочника языка.
- Подключите навыки Modular. В репозитории modular/skills лежат официальные инструкции для ИИ-агентов о том, как писать на современном Mojo.
И главное: код от модели проверяйте компилятором. Он лучший рецензент — именно так проверяется и этот курс.
Как задать вопрос, чтобы на него ответили
Заголовок раздела «Как задать вопрос, чтобы на него ответили»- Поищите сначала. Текст ошибки — в поиске по форуму и в нашем справочнике ошибок.
- Укажите версию и систему. Вывод
uv run mojo --version, ОС, для Windows — что вы работаете в WSL. - Приложите минимальный пример. Самый короткий код, который воспроизводит проблему: не весь проект, а 10–20 строк, которые можно скопировать и запустить.
- Приложите полный текст ошибки. Текстом, а не скриншотом: все
строки
error:иnote:, без сокращений. - Скажите, что уже пробовали и чего ожидали вместо полученного.
Код и ошибки оформляйте блоком кода — тремя обратными кавычками до и после. На форуме и в Discord это работает так же, как на GitHub.
Тексты курса — CC BY-NC-SA 4.0, код примеров — Apache 2.0