Menu
Coddy logo textTech

Термины программирования простыми словами

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

Как выполняется код

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

Исходный кодИсходный код представляет собой понятный человеку текст программы: программист пишет его на языке вроде Python, Java или C и сохраняет в обычных текстовых файлах, а компилятор или интерпретатор превращает его в инструкции, которые компьютер может выполнить.КомпиляторКомпилятор представляет собой программу, которая переводит исходный код, написанный на языке программирования, в машинный код или в другую низкоуровневую форму, например байт-код, ещё до запуска программы. После этого переведённая программа может работать без исходного кода.ИнтерпретаторИнтерпретатор представляет собой программу, которая выполняет исходный код напрямую, исполняя инструкции по ходу дела, вместо того чтобы сначала переводить всю программу в отдельный файл с машинным кодом. Стандартные реализации Python и Ruby являются интерпретаторами.Среда выполненияСреда выполнения представляет собой программное окружение, которое нужно программе во время работы: движок, выполняющий её код, стандартные библиотеки, которые она вызывает, и службы, управляющие памятью, ошибками и доступом к операционной системе. Примеры: JVM, Node.js и CPython.Операционная системаОперационная система (ОС) представляет собой программное обеспечение, которое управляет оборудованием компьютера и запускает все остальные программы: распределяет между ними процессор, память и хранилище и даёт им файлы, сеть, ввод и вывод. Windows, macOS, Linux, Android и iOS являются операционными системами.

Основные элементы

Части, из которых состоит любая программа: значения, переменные, массивы и циклы.

ПеременнаяВ программировании переменная представляет собой именованное место в памяти, где хранится значение, которое программа может читать и менять во время работы. Имя, например score или user_name, позволяет коду обращаться к значению, не зная, где именно оно хранится.BooleanВ программировании boolean (булев, или логический, тип) является типом данных ровно с двумя значениями: true и false. Программы получают булевы значения из сравнений вроде age >= 18 и используют их, чтобы решить, какой код выполнять, в операторах if и условиях циклов.МассивМассив представляет собой структуру данных, которая хранит набор значений одного типа в одном непрерывном блоке памяти. К каждому значению, которое называется элементом, обращаются по его номеру позиции, индексу, который в большинстве языков начинается с 0.ИтерацияВ программировании итерация означает повторение набора инструкций, обычно с помощью цикла, пока не выполнится условие или пока не будет обработан каждый элемент коллекции. Каждый отдельный проход по повторяемым инструкциям тоже называется итерацией.

Ошибки и отладка

Три вида ошибок, как программы их обрабатывают и сбой, с которым программисты на C сталкиваются первым.

Синтаксическая ошибкаСинтаксическая ошибка это нарушение структуры кода, например пропущенное двоеточие, скобка или кавычка, из-за которого код не соответствует грамматике языка программирования. Компилятор или интерпретатор отвергает программу ещё до того, как выполнится хотя бы одна её строка.Ошибка времени выполненияОшибка времени выполнения (runtime error) возникает, когда программа уже работает и операцию нельзя выполнить с имеющимися значениями, например при делении на ноль или чтении за концом списка. Если ошибку не обработать, программа останавливается на этой строке.Логическая ошибкаЛогическая ошибка это ошибка в рассуждениях программы, из-за которой она выдаёт неверный результат, но не падает и не показывает никакого сообщения об ошибке. Код правильный, каждая строка выполняется, но делает он не то, что задумал программист.Обработка исключенийОбработка исключений это способ, которым программа реагирует на ошибки, возникающие во время её работы. Код, который может дать сбой, помещают в защищённый блок, например try, и когда возникает ошибка, управление переходит к обработчику, например except или catch, а программа не падает.Ошибка сегментацииОшибка сегментации (segmentation fault, segfault) это аварийное завершение программы, когда она пытается прочитать или записать память, к которой у неё нет доступа, например адрес 0 через нулевой указатель. Операционная система останавливает программу сигналом SIGSEGV.

Данные и хранение

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

БитБит (сокращение от binary digit, двоичная цифра) это наименьшая единица данных в информатике, которая хранит одно из двух значений, 0 или 1. Компьютеры хранят и обрабатывают любую информацию, от чисел и текста до изображений и программ, в виде последовательностей битов.БайтБайт это единица цифровых данных из 8 битов, которые вместе могут представить 256 разных значений, от 0 до 255. На большинстве компьютеров это наименьшая единица памяти с собственным адресом, и размеры файлов считают в байтах.Контрольная суммаКонтрольная сумма (checksum) это короткое значение, вычисленное по блоку данных, например файлу или сетевому пакету, которое хранится или передаётся вместе с ним. Если позже вычислить его снова и сравнить два значения, станет видно, изменились ли данные из-за повреждения или ошибки передачи.База данныхБаза данных это упорядоченный набор данных, хранящийся на компьютере так, чтобы программы могли быстро и надёжно находить, добавлять, изменять и удалять их. Ею управляет программа, которая называется системой управления базами данных (СУБД), например PostgreSQL, MySQL, SQLite или MongoDB.

Объектно-ориентированное программирование

Идеи, на которых держатся классы и объекты: скрыть данные, дать общий интерфейс и спрятать детали.

ИнкапсуляцияВ объектно-ориентированном программировании инкапсуляция это объединение данных объекта и методов, которые с ними работают, в одно целое, обычно в класс, и сокрытие внутренних деталей, чтобы остальной код мог пользоваться объектом только через его публичные методы.ПолиморфизмВ программировании полиморфизм это способность одного фрагмента кода, например вызова функции или имени метода, работать со значениями разных типов, где каждый тип задаёт своё поведение. Вызов shape.area() выполняет для круга другое вычисление, чем для квадрата.АбстракцияВ программировании абстракция означает сокрытие подробностей того, как что-то работает, за более простым интерфейсом, чтобы этим можно было пользоваться, зная только, что оно делает. Вызов sorted(names) сортирует список, и тебе не нужно писать или даже видеть алгоритм сортировки.

Часто задаваемые вопросы

Какие термины программирования новичку стоит выучить первыми?
Начни с основных элементов, которые есть в любой программе: переменная, boolean, массив и итерация. Затем разберись с тремя видами ошибок (синтаксическими, ошибками выполнения и логическими): все три встретятся тебе в первую же неделю.
Нужно ли знать эти термины, прежде чем начать программировать?
Нет. Большинство людей узнают их, когда пишут небольшие программы и ищут незнакомое слово в тот момент, когда оно встретилось. Термин запоминается быстрее, если ты уже видел ошибку или вывод, который он описывает.
Одинаковы ли термины программирования во всех языках?
Идеи одинаковы. Меняются названия и детали: в Python массив называется list и пишется True, в JavaScript пишется true, а в Java нужно объявлять тип переменной. На каждой странице отмечено, чем языки отличаются.
Где можно попрактиковаться с этими понятиями?
На странице каждого термина есть примеры, которые можно менять и запускать в браузере. Для системной практики подойдёт бесплатный курс Python от Coddy: он проводит через переменные, циклы, ошибки и классы, по одному небольшому упражнению за раз.