Перейти к основному содержимому
02ФУНДАМЕНТ · ГЛАВА 02IT-английский: стартовый словарьENRU

IT-английский: стартовый словарь

Прочитано 0%Квизы 0/6Тренажёры 0/10Уровень 1 · Новичок

Зачем это нужно

Английский — рабочий язык всей индустрии. Документация к инструментам, сообщения об ошибках, ответы на форумах, названия кнопок в программах — всё это на английском, и переводится на русский с опозданием или никогда. Даже сам код состоит из английских слов: ты будешь писать if, while и error независимо от того, на каком языке думаешь. Тот, кто ждёт русский перевод, всегда на шаг позади того, кто прочитал оригинал.

Хорошая новость: для старта не нужен «свободный английский». Технические тексты специально пишут ограниченным набором слов — пара сотен терминов покрывает почти всё, что ты встретишь в первый год. В этой главе — стартовый словарь из четырёх десятков слов, разбор реальных сообщений об ошибках буквально по словам и главный практический навык, без которого ни один список слов не поможет: как читать сообщение об ошибке и как искать решение по-английски, а не закрывать записку в панике.

Анатомия сообщения об ошибке

Когда программа ломается, она не ругается — она оставляет записку: что пыталась сделать и что пошло не так. У записки есть строение, и в разных инструментах оно чуть отличается — но принцип общий: источник (кто говорит), виновник (к чему относится проблема) и суть (что именно случилось), разделённые двоеточиями.

АНАТОМИЯ СООБЩЕНИЯ ОБ ОШИБКЕcatисточниккто сообщает:report.txtвиновникк чему относится проблема:No such fileor directoryсутьчто именно случилосьтри части через двоеточие — работает почти для любой ошибки в терминале
Анатомия типичного сообщения об ошибке: источник, виновник и суть — три части через двоеточие.
Совет

Новички закрывают эту записку не читая, а зря: в ней почти всегда написано, как всё починить.

Возьмём настоящее сообщение — такое действительно печатает Linux-команда cat, если попросить её показать несуществующий файл. Наведи курсор на каждую часть:

Нажми на часть выражения

Читаем целиком: «cat: report.txt: нет такого файла или каталога». Не «ты плохой программист», а конкретный факт — команде cat не удалось найти файл с таким именем. У этого сообщения нет отдельного слова error — и это не упрощение, а особенность стиля: многие Linux-утилиты (cat, ls, rm и десятки других) вообще не пишут слово «error», они просто называют себя, называют виновника и объясняют суть. Уровень серьёзности здесь виден по-другому — по факту, что команда остановилась и ничего не сделала.

Другой распространённый стиль — у git и у компиляторов — явно называет уровень словом в начале строки: fatal: (фатально — операция полностью прервана), error: (ошибка) или warning: (предупреждение — программа продолжает работать). С таким сообщением мы тоже встретимся дальше в этой главе. Что общее у обоих стилей: если сообщение непонятно, скопируй его в поиск целиком, убрав только свои имена файлов и пути — по строке в кавычках найдутся сотни людей с той же проблемой. Подробный алгоритм такого поиска — в отдельном разделе ниже.

УРОВНИ СЕРЬЁЗНОСТИ СООБЩЕНИЙсерьёзность растёт слева направоwarning:продолжает работатьerror:операция остановленаfatal:прервано полностью
Три уровня серьёзности: warning продолжает работать, error останавливает операцию, fatal прерывает её полностью.
Отвечено вопросов: 0 из 4
Из каких трёх частей обычно состоит сообщение вида cat: report.txt: No such file or directory?
Почему в сообщении cat: report.txt: No such file or directory нет слова error?
Чем отличается стиль сообщений git и компиляторов от стиля cat?
Что стоит гуглить вместе с текстом ошибки, а не только сам текст?
Отвечено верно: 0 из 4

Три реальных ошибки — разбор по словам

Ниже — три сообщения, которые ты гарантированно увидишь в первый же месяц работы с терминалом и git. Каждое разберём не по структуре (это уже сделали выше), а по словам английского языка, из которых оно состоит: что означает каждое слово само по себе и почему именно оно здесь стоит.

1. «Файл не найден»: No such file or directory

Полное сообщение — то самое, что уже встретилось в разделе про анатомию: cat: report.txt: No such file or directory. Разберём саму фразу-идиому по словам:

Нажми на часть выражения

Дословно: «нет такого файла или каталога». Мысль целиком — «искомого объекта с таким именем и по такому пути просто не существует», а не «файл повреждён» или «файл занят».

Совет

Это разница на практике: чинить нужно опечатку в имени или путь, а не восстанавливать файл из бэкапа.

2. «В доступе отказано»: Permission denied

Сценарий: у файла run_tests.sh не выставлено право на запуск, и попытка его запустить отвечает так:

bash: ./run_tests.sh: Permission denied
Нажми на часть выражения

Дословно: «bash: ./run_tests.sh: в разрешении отказано». Смысл — не «файла нет» (он есть, bash его нашёл и назвал по имени), а «у файла нет права быть запущенным» — конкретно бита на исполнение (execute). Про биты прав rwx подробно будет отдельная глава — сейчас достаточно узнавать фразу и понимать, что дело в правах, а не в содержимом файла.

3. «Команда не найдена»: command not found

Опечатка при наборе git status: вместо git случайно вышло gti.

bash: gti: command not found
Нажми на часть выражения

Дословно: «команда не найдена». Bash не оценивает, правильная это команда или нет, — он просто ищет точное совпадение имени среди всех известных ему программ. gti для него — это не «git с опечаткой», а совсем другое, никому не известное слово.

Важно

Отсюда и практический вывод: если видишь command not found, в 9 случаях из 10 дело в опечатке, а не в том, что программа не установлена, — сперва перечитай, что напечатал.

ГЛАГОЛ → ПРИЧАСТИЕ В ОШИБКАХto denydeniedPermission deniedto findfoundcommand not found
Оба сообщения используют причастие прошедшего времени: to deny → denied, to find → found.

Теперь проверь себя наоборот: собери переводы разобранных фраз из перемешанных слов.

Сначала No such file or directory:

Нажимай на слова внизу и собери фразу по порядку

Теперь смысл фразы Permission denied — целиком, как разбирали выше:

Нажимай на слова внизу и собери фразу по порядку
Отвечено вопросов: 0 из 4
Что означает идиома no such file целиком, а не по отдельным словам?
От какого глагола образовано слово denied в Permission denied и что он значит?
Почему bash пишет command not found на gti, хотя ты имел в виду git?
Какая форма глагола find использована в found?
Отвечено верно: 0 из 4

Как гуглить ошибку по-английски

Скопировать сообщение целиком в поиск — уже полдела, но есть приёмы, которые находят решение быстрее и точнее.

  1. Возьми фразу в кавычки. Без кавычек поисковик ищет страницы, где встречаются эти слова хоть где-то, хоть в разных местах текста. В кавычках — только страницы с точно такой же фразой, слово в слово и в том же порядке.
  2. Убери своё, оставь общее. Имя своего файла, свой логин, свой абсолютный путь вроде /home/ivanov/projects/lab3 — убери. Общую часть сообщения, которая повторится у любого человека с той же проблемой, — оставь.
  3. Добавь имя инструмента, если сообщение короткое и общее (Permission denied само по себе слишком расплывчато — допиши bash или git, в зависимости от того, кто его напечатал).
  4. Сузь поиск сайтом, если результатов слишком много или слишком мало не по теме: оператор site: ограничивает выдачу одним доменом, например Stack Overflow или GitHub Issues.
  5. Слишком мало результатов? Сократи фразу. Убери самую специфичную часть (обычно это твой путь или имя файла) и оставь только устойчивую часть сообщения.

Разберём готовый запрос по кусочкам — именно так стоит искать git-ошибку fatal: not a git repository:

КАК ПРЕВРАТИТЬ ОШИБКУ В ЗАПРОСсырое сообщение/home/ivanov/lab3:fatal: not a gitrepositoryпоисковый запрос"not a git repository"site:stackoverflow.comсвой путь и fatal: убраны — оставлена узнаваемая часть в кавычках
Сырое сообщение превращается в запрос: свой путь убран, устойчивая часть — в кавычках, плюс site: для нужного сайта.
Нажми на часть выражения

Потренируйся печатать такой запрос — в реальном поиске лишний пробел после site: испортит результат, поэтому важна точность:

Цель: скорость ≥ 100 зн/мин, точность ≥ 90%

"not a git repository" site:stackoverflow.com
Отвечено вопросов: 0 из 4
Зачем брать фразу ошибки в кавычки при поиске?
Что нужно убрать из сообщения об ошибке перед тем, как его гуглить?
Что делает оператор site:stackoverflow.com в поисковом запросе?
Сообщение Permission denied само по себе даёт мало результатов по теме. Что стоит сделать?
Отвечено верно: 0 из 4

Прежде чем гуглить, полезно понять, сколько в сообщении ты уже понимаешь сам. Вставь любую ошибку — знакомые слова из словаря главы подсветятся, а пути и знаки приглушатся:

или возьми готовое:

А если после подсветки фраза всё ещё непонятна — время звать настоящий переводчик. Вставь фразу один раз, открой её сразу в нужном сервисе и сравни варианты:

Как пользоваться переводчиком правильно:
  • Переводи фразами, а не отдельными словами — у слова без контекста десяток значений.
  • Проверяй обратным переводом: переведи результат назад и сравни смысл с оригиналом.
  • Термины из словаря главы запоминай по-английски — в коде и ошибках они будут без перевода.

Слова главы

Сорок слов ниже — костяк. Они встречаются в меню программ, в командах терминала и в сообщениях об ошибках каждый день.

Действия: что делают программы

Половина IT-английского — глаголы. Файл можно создать (create), открыть (open), сохранить (save) и удалить (delete). Программу — запустить (run); проект — собрать (build) из исходников в готовое приложение, а потом проверить (test), что всё работает. Если проверка не прошла, говорят, что она провалилась (fail). Результат неудачи ты уже знаешь: ошибка (error), а её младшая сестра — предупреждение (warning): программа работает, но что-то ей не нравится.

create
1 / 10

Десять новых слов подряд — многовато, чтобы они улеглись в голове с первого раза. Прежде чем читать дальше, повтори их прямо сейчас — это работает лучше, чем просто перечитать словарь ещё раз (testing effect: вспоминать эффективнее, чем узнавать):

Время 0:00Ходы 0Пары 0/5

Файлы и система

Всё в компьютере крутится вокруг файла (file). Файлы лежат в папках (folder), которые в мире Linux чаще называют каталогами (directory) — это синонимы, пугаться не надо, оба слова уже встречались в разборе ошибок выше. Дорога до файла через все вложенные папки — путь (path), например /home/student/docs/report.txt. Команды системе отдают через терминал (terminal) — текстовое окно, с которым мы подружимся в следующей главе. Программы в Ubuntu ставятся пакетами (package): пакет можно установить (install) или обновить (update) до свежей версии (version). А поведение почти любой программы меняется в настройках (settings).

file
1 / 10

Ещё десять слов — и снова стоит повторить их сразу, пока не наложились на предыдущий блок:

Время 0:00Ходы 0Пары 0/5

Слова из кода

Эти термины подробно разберём в главах про программирование, но встречать их в текстах и ошибках ты начнёшь раньше. Переменная (variable) хранит значение (value), у которого есть тип (type): текст называется строкой (string), целое или дробное — числом (number), а набор элементов — списком (list). Функция (function) — именованный кусок кода, который можно вызывать. Цикл (loop) повторяет действия, условие (condition) выбирает, по какой ветке пойти. А комментарий (comment) — заметка для людей, которую компьютер не выполняет.

variable
1 / 10

Эти слова ты пока встречаешь только на бумаге — тем более стоит закрепить их сразу:

Время 0:00Ходы 0Пары 0/5

Глаголы git и терминала

Отдельный блок — потому что эти десять слов будут звучать на каждом занятии про git, начиная со следующих глав. Изменения фиксируют коммитом (commit) и отправляют (push) на сервер; чужие изменения забирают (pull) себе. Параллельную линию разработки называют веткой (branch), а объединение веток — слиянием (merge). Весь репозиторий целиком копируют командой «клонировать» (clone), а посмотреть, что изменилось на сервере, не вливая это в свою ветку, можно командой «скачать» (fetch). Файл перед коммитом кладут в индекс командой «добавить» (add), текущее состояние проекта показывает статус (status), а всю историю коммитов — журнал (log).

commit
1 / 10

Последняя десятка — и снова короткое повторение, прежде чем перейти к общему квизу по всем сорока словам:

Время 0:00Ходы 0Пары 0/5
Отвечено вопросов: 0 из 4
Чем directory отличается от folder?
Какая разница между pull и fetch в git?
Чем отличаются value и variable?
Что из перечисленного — глагол про git, а не про файловую систему?
Отвечено верно: 0 из 4

Потренируйся печатать

Сообщения об ошибках придётся не только читать, но и перепечатывать в поиск. Набери без опечаток — это ровно та фраза, что уже разобрана по словам выше:

Цель: скорость ≥ 110 зн/мин, точность ≥ 90%

cat: report.txt: No such file or directory
клавиша ``клавиша 11клавиша 22клавиша 33клавиша 44клавиша 55клавиша 66клавиша 77клавиша 88клавиша 99клавиша 00клавиша --клавиша ==клавиша ⌫клавиша TabTabклавиша QQклавиша WWклавиша EEклавиша RRклавиша TTклавиша YYклавиша UUклавиша IIклавиша OOклавиша PPклавиша [[клавиша ]]клавиша \\клавиша Caps LockCaps Lockклавиша AAклавиша SSклавиша DDклавиша FFклавиша GGклавиша HHклавиша JJклавиша KKклавиша LLклавиша ;;клавиша ''клавиша EnterEnterклавиша ShiftShiftклавиша ZZклавиша XXклавиша CCклавиша VVклавиша BBклавиша NNклавиша MMклавиша ,,клавиша ..клавиша //клавиша ShiftShiftклавиша CtrlCtrlклавиша WinWinклавиша AltAltклавиша ПробелПробелклавиша AltAltклавиша WinWinклавиша MenuMenuклавиша CtrlCtrl
следующая: C — средний левой руки

Типичные ошибки

Четыре сообщения, которые встретишь в первый же месяц. Три из них уже разобраны по словам в отдельном разделе выше — здесь собран полный комплект: воспроизводящий пример, точный текст, перевод, причина и починка, как для любой другой главы канона.

1. Файл не найден

Команда просит показать содержимое файла, которого нет по указанному пути:

cat: report.txt: No such file or directory

Перевод: «cat: report.txt: нет такого файла или каталога».

Причина: файла report.txt не существует там, где его ищет cat — либо опечатка в имени, либо он лежит в другой папке, либо его вообще ещё не создали.

Как починить: проверь точное имя файла (регистр букв важен — Report.txt и report.txt для Linux разные имена) и текущую папку командой pwd; если файла действительно ещё нет — создай его или перейди туда, где он лежит.

2. В доступе отказано

Попытка запустить скрипт, у которого не выставлен бит на исполнение:

bash: ./run_tests.sh: Permission denied

Перевод: «bash: ./run_tests.sh: в разрешении отказано».

Причина: файл существует и найден, но у него нет права на запуск (execute) — bash честно отказывается его выполнять.

Как починить: выдать файлу право на исполнение командой chmod +x run_tests.sh и повторить попытку; подробно про биты прав rwx — в отдельной главе про файлы.

3. Команда не найдена

Опечатка при вводе имени команды:

bash: gti: command not found

Перевод: «bash: gti: команда не найдена».

Причина: bash ищет точное совпадение имени среди известных программ; gti для него не «git с опечаткой», а совсем другое, никому не известное слово.

Как починить: перечитать набранное и исправить опечатку — git status. Та же ошибка выскочит, если программа действительно не установлена: тогда чинить нужно установкой пакета, а не исправлением опечатки.

4. Не git-репозиторий

Попытка выполнить git-команду в папке, где git ещё не инициализирован (нет скрытой папки .git):

fatal: not a git repository (or any of the parent directories): .git

Перевод: «фатально: не git-репозиторий (и ни одна из родительских папок тоже): .git».

Причина: git ищет скрытую папку .git в текущей папке, а если не находит — поднимается по дереву папок вверх, проверяя каждую родительскую. Здесь эта папка не найдена нигде по всему пути наверх — значит, git init тут ещё не выполняли или команда набрана не в той папке.

Как починить: проверить, в той ли папке ты находишься (pwd), и либо перейти в правильную (cd имя-проекта), либо, если репозиторий действительно должен появиться здесь впервые, — выполнить git init.

Отвечено вопросов: 0 из 4
Чем отличается причина ошибки No such file or directory от причины Permission denied?
Какой командой чинят Permission denied у скрипта из-за отсутствия права на запуск?
Что делает git, перед тем как написать fatal: not a git repository?
В 9 случаях из 10 ошибка command not found на знакомую команду (например git) вызвана чем?
Отвечено верно: 0 из 4

Где тренировать словарь

Углубиться

Почему одни и те же фразы повторяются везде. No such file or directory — не выдумка конкретной программы. В Linux у каждой стандартной ошибки есть числовой код (например ENOENT — «Error NO ENTry», «нет такой записи») и официальный текст, зашитый в системную библиотеку; программы просто печатают его. Поэтому сотни разных инструментов говорят одну и ту же фразу слово в слово — выучил один раз, узнаёшь везде. Кстати, ты ещё не раз встретишь именно эти фразы в главах про терминал и про файлы: это не совпадение, а то самое повторение в деле.

Уровни серьёзности. Компиляторы и сборщики обычно различают три уровня: error (работа остановлена), warning (подозрительно, но продолжаем) и note/info (просто справка, часто — подсказка к соседней ошибке). Читать стоит все: за сухим error нередко идёт note с готовым советом «может, ты имел в виду...». git добавляет ещё одну метку — fatal (фатально): операция не просто не удалась, а прервана полностью, ничего не сохранено и не отправлено.

Ограниченный словарь — это осознанно. Авторов документации специально учат писать одними и теми же словами: один термин — одно понятие, никаких синонимов ради красоты. Именно поэтому пары сотен слов хватает, чтобы читать доки: индустрия сама сузила словарь ради таких читателей, как ты.

Ложные друзья переводчика. Несколько английских IT-слов подсказывают неверный перевод, если довериться звучанию. actual — не «актуальный» (current, relevant), а «настоящий, фактический»: the actual value значит «то значение, которое есть на самом деле», а не «свежее». character — не «характер», а «символ»: тот же смысл, что у русского «символ» в Char из главы про Kotlin. data в английском грамматически чаще ведёт себя как множественное число («the data are», хотя в разговорной речи всё чаще и «is»), а не как русское «данные», к которому это же почти естественно. complex ближе к «составной, многосоставной», а не к бытовому русскому «сложный» (для «сложно» в значении «трудно» в английском чаще подойдёт difficult или complicated). Небольшая привычка сверяться со словарём в спорных случаях экономит часы отладки не кода, а собственного понимания задачи.

Дальше по теме:

  • What went wrong? Troubleshooting JavaScript — учебник MDN: как читать реальные сообщения об ошибках в браузере
  • Technical Writing — Words — курс Google для авторов документации: почему термины используют строго и последовательно
  • errno(3) — Linux manual page — официальный список системных кодов вроде ENOENT и EACCES, стоящих за самыми частыми фразами об ошибках

Куда дальше: проверенные ресурсы

  • Инглекс — английский для IT-специалистов — базовый словарь программиста и подборка из 84 ресурсов (словари, подкасты, курсы). Открывай, если нужен один большой список источников на все случаи.

  • Skyeng — английский для программистов — 75 терминов и готовые фразы для рабочей переписки и код-ревью. Открывай, если словарь этой главы захотелось расширить сразу дальше.

  • Multitran — англо-русский словарь с отдельными IT-категориями (comp., net., progr.). Открывай, когда встретишь незнакомое слово посреди чужого кода или документации и нужен точный перевод, а не общий гуглтранслейт.

  • kata.academy — как правильно гуглить программисту — практические приёмы поиска: операторы, формулировки запросов, работа с фильтрами. Открывай сразу после раздела «Как гуглить ошибку» этой главы — материал прямо продолжает тему.

  • Tproger — как искать и исправлять ошибки в коде — переводной пошаговый гайд из десяти шагов для новичка. Открывай, если хочется не только читать сообщение об ошибке, но и понять весь путь от «что-то сломалось» до «починил».

  • errno(3) — Linux manual page — тот же официальный справочник, что и в «Углубиться» — но стоит вернуться к нему отдельно, когда встретишь новый код ошибки и захочешь понять его дословно.

  • Видео и материалы сообщества — ниже — ролики по теме и ссылки от студентов и преподавателей смотри в самом низу страницы.

Челлендж ⭐

Ступень 1. Прочитай сообщение — раньше в главе оно не встречалось буквально в таком виде, но метод анатомии ты уже знаешь — и письменно ответь на четыре вопроса:

bash: ./deploy.sh: Permission denied
  1. Какая часть строки — источник, какая — виновник, какая — суть проблемы?
  2. Из каких двух английских слов состоит суть, и от каких глаголов они образованы?
  3. Файл существует или нет? Как ты это понял?
  4. Какой командой это чинят?

Ступень 2 ⭐. Тебе в чат прислали это сообщение и попросили помочь. Напиши готовый поисковый запрос, которым стал бы гуглить именно ты, — по всем правилам раздела «Как гуглить ошибку»: с кавычками вокруг устойчивой части, без личных путей, при необходимости — с оператором site:.

fatal: not a git repository (or any of the parent directories): .git
Решение (сначала попробуй сам)

Ступень 1:

  1. Источник — bash, виновник — ./deploy.sh, суть — Permission denied.
  2. Permission (разрешение, от to permit) и denied (отказано, причастие от to deny).
  3. Файл существует: bash нашёл его и назвал по имени в сообщении. Если бы файла не было, было бы No such file or directory, а не Permission denied.
  4. chmod +x deploy.sh — выдать право на исполнение.

Ступень 2 ⭐, один из рабочих вариантов:

"not a git repository" site:stackoverflow.com

Слово fatal: и свой путь до папки в запрос не берём — это не повторится у других людей с той же проблемой. not a git repository — устойчивая, узнаваемая часть сообщения; site:stackoverflow.com сужает результаты до готовых разборов с ответами, а не до случайных упоминаний фразы.

Слова и конструкции главы

Шпаргалка по всему, что встретилось в этой главе. Вернись сюда, если забудешь, «что означает этот кусок сообщения».

КонструкцияКак называетсяЧто означаетПример
имя: источник (в начале строки)называет программу, которая печатает сообщениеcat: ..., bash: ...
error:явная метка уровняошибка — операция остановленаerror: ...
fatal:явная метка уровня (git)фатально — операция прервана полностьюfatal: not a git repository...
warning:явная метка уровняпредупреждение — программа продолжает работатьwarning: ...
No such file or directoryустойчивая фразаискомого файла или каталога не существуетcat: x: No such file or directory
Permission deniedустойчивая фразане хватает прав на действие с файломbash: ./x.sh: Permission denied
command not foundустойчивая фразакоманда с таким именем не существует в системеbash: gti: command not found
'...'одинарные кавычки в сообщениивыделяют конкретное имя внутри текста ошибкиpathspec 'the'
"..."двойные кавычки в поисковом запросеоператор точного совпадения фразы целиком"not a git repository"
site:оператор поискаограничивает выдачу одним сайтомsite:stackoverflow.com

Сводная проверка по всей главе: 7 вопросов, 5:00 на всё, без подсказок по ходу. Вопросы показываются по одному, ответ изменить нельзя. Если время выйдет — экзамен завершится с тем, что успел ответить. Пересдавать можно сколько угодно раз.

Что должен уметь

  • Разбирать сообщение об ошибке на источник, виновника и суть — и узнавать, что у одних инструментов есть явная метка уровня (error:, fatal:, warning:), а у других (cat и похожих) её нет вовсе.
  • Переводить с листа и объяснять по словам три устойчивые фразы: No such file or directory, Permission denied, command not found — и называть, от каких английских глаголов образованы их ключевые слова.
  • Переводить с листа базовые глаголы интерфейсов: create, open, save, delete, run, build, test, а также git-глаголы commit, push, pull, merge, branch, clone, fetch, add, status, log.
  • Узнавать в тексте ошибки слова file, directory, path, version и понимать, о чём речь.
  • Составлять поисковый запрос по правилам: фраза в кавычках, без личных путей, при необходимости — с именем инструмента или оператором site:.
  • Отличать по тексту сообщения ошибку «объекта не существует» от ошибки «не хватает прав» — и называть, какой командой чинится каждая.

Комментарии

Комментарии появятся после настройки. Нужен аккаунт GitHub — вход прямо в виджете выше.