Один и тот же английский термин можно перевести на русский пятью способами —
и текст сразу станет нечитаемым. Поэтому в курсе принято одно решение по
каждому термину, и оно действует на всех страницах.
Правило курса: при первом употреблении термина на странице пишем русский
вариант, а оригинал даём в скобках курсивом. Дальше — только русский.
Так вы сможете искать информацию на английском и не потеряетесь в официальной
документации.
Английский В курсе Почему так ownership владение устоялось в русскоязычных материалах по Rust owner владелец borrow, borrowed заимствование, заимствованный там же move, moved перемещение, перемещённый не «муваем», не «переезд» transfer передача владения сигил ^ в коде читаем как «передать» lifetime время жизни origin origin новый термин Mojo, устоявшегося русского аналога нет — вводим как есть, с объяснением reference ссылка pointer указатель exclusivity исключительность доступа destructor деструктор
Английский В курсе Почему так argument аргумент то, что передаётся при вызове, в круглых скобках parameter параметр в Mojo это значение времени компиляции, в квадратных скобках argument convention конвенция передачи аргумента trait трейт «признак» и «свойство» уведут не туда conformance соответствие трейту объявляется явно, утиной типизации нет provided (default) method реализация по умолчанию метод трейта с телом; необязателен refining trait уточняющий трейт трейт, включающий другой marker trait маркерный трейт без требований, только помечает associated type ассоциированный тип тип, свой у каждого реализующего trait composition композиция трейтов несколько требований через & struct структура method метод overloading перегрузка return type возвращаемый тип generic обобщённый «generic-функция» → «обобщённая функция» typed error типизированная ошибка свой тип ошибки в сигнатуре: raises MyError template string, t-string t-строка шаблон с подстановкой t"…", замена f-строки
Аргумент и параметр — это разные вещи
В Python «аргумент» и «параметр» — синонимы, которые все путают и никто
от этого не страдает. В Mojo это два разных механизма: аргументы
передаются при вызове в круглых скобках и существуют во время выполнения,
а параметры задаются в квадратных скобках и подставляются компилятором
на этапе сборки. Путать их нельзя — курс всюду соблюдает это различие.
Английский В курсе Почему так compile-time этап компиляции не «компайл-тайм»; «этап сборки» — принятый синоним runtime этап выполнения не «рантайм» compile-time evaluation вычисление на этапе компиляции specialization специализация отдельная копия кода под каждый набор параметров constraint solver решатель ограничений проверяет where; вывода не делает, ищет дословное совпадение materialization материализация перенос значения этапа сборки в работающую программу partially-bound type частично заданный тип не «частично связанный» metaprogramming метапрограммирование parameterization параметризация binary, executable исполняемый файл, бинарник «бинарник» допустим в неформальном контексте toolchain набор инструментов
Английский В курсе Почему так SIMD SIMD аббревиатуру не переводим lane линия «линия SIMD-вектора» vectorization векторизация parallelization распараллеливание thread pool пул потоков data race гонка данных atomic атомарная операция, атомик «атомик» — о типе Atomic spin lock спин-блокировка поток ждёт в цикле, а не засыпает coroutine корутина benchmark замер производительности, бенчмарк оба варианта допустимы overhead накладные расходы zero-cost abstraction абстракция без накладных расходов
Английский В курсе Почему так package manager менеджер пакетов virtual environment виртуальное окружение repository репозиторий commit коммит language server языковой сервер LSP не расшифровываем linter линтер formatter форматировщик кода
Не согласны с переводом?
Терминология — та область, где спорить можно бесконечно. Если считаете,
что какой-то вариант неудачен, откройте обсуждение в репозитории курса:
аргументированные предложения принимаются, но менять термин будем сразу
на всех страницах, а не точечно.