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

Словарь

Словарь терминов

В первых уроках новичка встречает лавина незнакомых слов: переменная, функция, зависимость, коммит, ветка. Многие из них звучат сложнее, чем означают. Здесь собраны основные термины в трёх группах: сам код, инструменты разработчика и совместная работа над проектом. Определения упрощены ради понятности, точные формулировки ищите в документации языка и инструментов.

Слово «рекурсия» в первую неделю можно не знать, а вот слово «коммит» пригодится уже на второй день.

— От редакции

Как устроен раздел: мы объясняем термины простыми словами и иногда приводим условные примеры. Если у понятия есть строгое определение в спецификации или документации, ориентируйтесь на него.

Код

Программа
Последовательность инструкций, которую компьютер выполняет по порядку. Записывается на языке программирования в обычных текстовых файлах.
Переменная
Имя, под которым программа хранит значение: число, текст, список. Значение можно прочитать и изменить по ходу работы.
Функция
Именованный фрагмент кода, который решает одну задачу и может вызываться много раз. Принимает входные данные и часто возвращает результат.
Условие
Конструкция, которая выполняет одну часть кода, если утверждение верно, и другую — если нет. Условный пример: если список покупок пуст, вывести «Всё куплено».
Цикл
Конструкция для повторения действий: пока выполняется условие или для каждого элемента списка.
Синтаксис
Правила записи кода в конкретном языке: где ставить скобки, кавычки, отступы и знаки препинания. Нарушение синтаксиса — самая частая ошибка новичка.
Библиотека
Готовый набор функций, написанный другими людьми. Её подключают к своей программе, чтобы не решать заново уже решённые задачи.

Инструменты

Интерпретатор
Программа, которая читает и выполняет код на лету, без отдельного шага сборки. Так обычно запускают, например, программы на Python.
Компилятор
Программа, которая заранее переводит исходный код в исполняемый файл или промежуточный формат. Ошибки синтаксиса она показывает ещё до запуска.
Терминал
Текстовый интерфейс для управления компьютером командами. Его также называют командной строкой или консолью.
Редактор кода
Текстовый редактор с подсветкой синтаксиса, подсказками и проверкой ошибок. Расширенный вариант со встроенной отладкой и сборкой называют средой разработки.
Менеджер пакетов
Инструмент, который скачивает и устанавливает библиотеки из каталога языка и следит за их версиями.
Зависимость
Внешняя библиотека, без которой ваш проект не работает. Список зависимостей с версиями помогает запустить проект на другом компьютере.

Совместная работа

Репозиторий
Хранилище проекта вместе с полной историей изменений. Может лежать на вашем компьютере и иметь копию на удалённом сервере.
Коммит
Зафиксированное состояние проекта с описанием того, что изменилось. Из коммитов складывается история, по которой можно вернуться назад.
Ветка
Отдельная линия изменений в репозитории. В ветке можно пробовать новое, не трогая основную рабочую версию.
Слияние
Объединение изменений из одной ветки в другую. Если одни и те же строки правили по-разному, возникает конфликт, который решают вручную.
Семантическое версионирование
Соглашение о номерах версий вида MAJOR.MINOR.PATCH: старший номер меняется при несовместимых изменениях, средний — при новых возможностях, младший — при исправлениях. Описано в спецификации на semver.org.
Открытая лицензия
Условия, на которых автор разрешает использовать, изучать, изменять и распространять свой код. Определение открытого кода поддерживает Open Source Initiative.
  • Инструменты

    Набор новичка без брендов: редактор кода, терминал, интерпретатор или компилятор, контроль версий, хостинг репозиториев, менеджер пакетов.

  • Инструкции

    Пошаговые инструкции: окружение, первый скрипт, первый репозиторий, сообщения об ошибках, вопросы сообществу. Здесь же каталог публикаций.

  • Безопасность

    Риски новичка: ключи и пароли в коде, чужие скрипты, пакеты-подделки, устаревшие зависимости, личные данные в открытом репозитории.

Источники

  • Документация Git
  • Документация Python
  • Спецификация Semantic Versioning (semver.org)
  • Open Source Initiative — определение открытого кода

Даты и определения взяты из официальной документации и спецификаций на дату подготовки. Языки и инструменты развиваются, поэтому уточняйте детали в актуальных первоисточниках.