Зачем нужна точка с запятой в программировании
Продолжаем разбирать неочевидные моменты в программировании. В прошлый раз мы рассказали про разницу между табами и пробелами. Теперь — о точках с запятой: зачем они нужны и когда не нужны.
Зачем нужна точка с запятой
В большинстве языков программирования точка с запятой разделяет команды. Компьютер сам этого сделать не может, ему нужно явно сказать: «Всё, вот это — вся команда, выполняй её в таком виде».
В некоторых языках вместо точки с запятой используют перенос на новую строку; иногда интерпретатор языка умеет угадывать, где вы имели в виду точку с запятой; но в базе точка с запятой — самый популярный разделитель.
На примере: почему важно разделять команды
В большинстве случаев, если не разделить команды, компилятор или интерпретатор просто сообщат об ошибке: мол, ожидали конец команды, а ты нам ерунду какую-то подсунул. Но иногда ошибки не будет, хотя программа будет работать совсем не так, как имел в виду разработчик. Это похоже на расстановку запятых в предложении «Казнить нельзя помиловать». Вот пример.
В C++ есть команда автоинкремента после обращения. Она выглядит как два плюса подряд, и её можно поставить до или после переменной. Место расположения переменной важно: в зависимости от него алгоритм автоинкремента будет работать по-разному.
Вот пример: j = i++ . Предположим, что в переменной i находится число 2. Работать будет так:
- Компьютер берёт значение переменной i и отправляет его в переменную j.
- После присваивания компьютер увеличивает значение переменной i на единицу.
- По итогу в переменной j число 2, в переменной i число 3.
Обратный пример: j = ++i (то есть переместили автоинкремент до переменной). Теперь он работает так:
- Компьютер сначала увеличивает i на единицу.
- После увеличения он присваивает новое значение в J.
- По итогу в переменных i и j число 3.
Теперь представьте, что у нас вот такой кусок кода:
Для компьютера этот кусок выглядит так, потому что в этом языке ему плевать на переносы строк и пробелы:
Из этого кода не очевидно, к какой переменной относится оператор ++. Компьютер либо выполнит какое-то стандартное действие для таких случаев, либо выбросит ошибку.
Чтобы стало очевидно, нужно просто разделить команды точкой с запятой:
На самом деле, вместо точки с запятой мог бы быть любой другой символ, например знак параграфа — §. Но разработчикам языков программирования было удобнее ставить то, что есть на любой клавиатуре, и то, что несложно набрать одним пальцем.
Точка с запятой в JavaScript
Чаще всего в проектах мы используем JavaScript, в котором точка с запятой тоже разделяет команды:
a = 3; b = 5; c = a + b; console.log(c);

Но если мы возьмём тот же код, уберём оттуда точки с запятой и выполним его в браузере, то ошибки почему-то тоже не будет:
a = 3 b = 5 c = a + b console.log(c)

Дело в том, что в JavaScript есть встроенный механизм автоматической вставки точек с запятой, который называется ASI. Он распознаёт команды и сам добавляет разделители в нужных местах. Этот механизм справляется с большинством случаев, но иногда он тоже не понимает, где ставить точку с запятой.
Например, с этим алгоритм точно не справится:
a = b + c
(d + e).print()
Дело в том, что это необязательно сложение и вызов какого-то метода второй командой — ещё это может быть вызовом метода print() функции c с аргументом (d + e) :
a = b + c(d + e).print()
Компьютер не знает, что именно мы имели в виду, поэтому здесь он остановится и выдаст ошибку.
Механизм ASI не значит, что в JavaScript не нужны точки с запятой. Скорее это значит, что разработчики JavaScript позаботились о вашем комфорте и постарались защитить от некоторых ошибок. Так-то точки с запятой нужны.
В каких ещё языках есть точка с запятой
Точка с запятой есть в большинстве современных языков программирования, на которые повлияли C и C++:
Также она используется в языке запросов SQL. Иногда её используют для разделения данных внутри CSV-файлов — в них Excel может сохранять свои таблицы с данными (хотя CSV расшифровывается как comma-separated values, то есть «значения, разделённые запятой»).
Когда точка с запятой не нужна
Точка с запятой не нужна в тех языках, в которых явно задаются границы команд — так компьютер сразу определяет начало и конец команды без точки с запятой. Например, в Python для этого используют отступы и переносы строк — с ними интерпретатор понимает, что начинается новая команда и к чему она относится.
Когда Python только появлялся, многие программисты по привычке ставили в нём точку с запятой. Разработчики решили научить язык не воспринимать это как ошибку, а просто игнорировать этот символ. При этом редактор кода подсветит точки с запятой красным, чтобы программист обратил на это внимание и убрал их из кода:

Комментарии
В совсем старых языках программирования, например в ассемблерах и Лиспе, точка с запятой используется для обозначения комментария в коде:
MOV AL, 61h ; Отправляем в AL десятичное число 97 (61 в шестнадцатеричной системе)
В современных языках точку с запятой для комментариев не используют — вместо этого ставят решётку, слеш, звёздочки или угловые скобки.
Хотите больше? Скачивайте наш гид
В нем мы собрали всё, что нужно знать о старте в сфере ИТ. Читайте на компьютере и телефоне, распечатывайте на принтере, пересылайте друзьям, используйте как учебное пособие в вузе и школе.
Гид скачивается бесплатно, без регистрации и ввода электронной почты. Просто тык и всё. Не забудьте сохранить на компьютере, если гид откроется в браузере.

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Точка с запятой

Точка запятой это символ на компьютерной клавиатуре, который находится на одной клавише с цифрой 4 в русской раскладке клавиатуры (qwerty) и на одной клавише с двоеточием (ж) – в английской. На изображение справа показ пример клавиши с символом точки с запятой. Чтобы напечатать этот символ удерживайте клавишу Shift и нажмите цифру 4. Точка с запятой очень много используется в программировании, она заканчивает (закрывает) инструкцию. Например, в приведенном ниже примере кода точка с запятой указывает программному интерпретатору, что это конец строки.
Print «Привет Мир»;
Понравилось? Поделись с друзьями!
Arduino.ru
Синтаксис ; (точка с запятой) используется для обозначения конца оператора.
Пример
Подсказка
Забытая в конце строки точка с запятой приводит к ошибке компиляции. Текст ошибки может быть либо видимым и ссылаться на пропущенную точку с запятой, либо нет. Если встречается непонятная или похожая на нелогичную ошибка компиляции, одним из первых действий должна быть проверка пропущенных точек с запятой, в коде, непосредственно предшествующем строке, в которой компилятор выдал предупреждение.
Авторизация
Примеры
Изменяем яркость светодиода — плавное изменение яркости светодиода функцией analogWrite().
Мигаем светодиодом — пример подключения светодиода к Arduino и работы с ним
Тактовая кнопка — считывание состояния кнопки
Мигаем светодиодом без delay() — еще один, более практичный способ мигать светодиодом
Структура кода
Начнём изучение языка с рассмотрения основных «строительных блоков» кода.
Инструкции
Инструкции – это синтаксические конструкции и команды, которые выполняют действия.
Мы уже видели инструкцию alert(‘Привет, мир!’) , которая отображает сообщение «Привет, мир!».
В нашем коде может быть столько инструкций, сколько мы захотим. Инструкции могут отделяться точкой с запятой.
Например, здесь мы разделили сообщение «Привет Мир» на два вызова alert:
alert('Привет'); alert('Мир');
Обычно каждую инструкцию пишут на новой строке, чтобы код было легче читать:
alert('Привет'); alert('Мир');
Точка с запятой
В большинстве случаев точку с запятой можно не ставить, если есть переход на новую строку.
Так тоже будет работать:
alert('Привет') alert('Мир')
В этом случае JavaScript интерпретирует перенос строки как «неявную» точку с запятой. Это называется автоматическая вставка точки с запятой.
В большинстве случаев новая строка подразумевает точку с запятой. Но «в большинстве случаев» не значит «всегда»!
В некоторых ситуациях новая строка всё же не означает точку с запятой. Например:
alert(3 + 1 + 2);
Код выведет 6 , потому что JavaScript не вставляет здесь точку с запятой. Интуитивно очевидно, что, если строка заканчивается знаком «+» , значит, это «незавершённое выражение», поэтому точка с запятой не требуется. И в этом случае всё работает, как задумано.
Но есть ситуации, где JavaScript «забывает» вставить точку с запятой там, где она нужна.
Ошибки, которые при этом появляются, достаточно сложно обнаруживать и исправлять.
Пример ошибки
Если вы хотите увидеть конкретный пример такой ошибки, обратите внимание на этот код:
alert('Hello'); [1, 2].forEach(alert);
Пока нет необходимости знать значение скобок [] и forEach . Мы изучим их позже. Пока что просто запомните результат выполнения этого кода: выводится Hello , затем 1 , затем 2 .
А теперь давайте уберем точку с запятой после alert :
alert('Hello') [1, 2].forEach(alert);
Этот код отличается от кода, приведенного выше, только в одном: пропала точка с запятой в конце первой строки.
Если мы запустим этот код, выведется только первый alert , а затем мы получим ошибку (вам может потребоваться открыть консоль, чтобы увидеть её)!
Это потому что JavaScript не вставляет точку с запятой перед квадратными скобками [. ] . И поэтому код в последнем примере выполняется, как одна инструкция.
Вот как движок видит его:
alert('Hello')[1, 2].forEach(alert);
Выглядит странно, правда? Такое слияние в данном случае неправильное. Мы должны поставить точку с запятой после alert , чтобы код работал правильно.
Это может произойти и в некоторых других ситуациях.
Мы рекомендуем ставить точку с запятой между инструкциями, даже если они отделены переносами строк. Это правило широко используется в сообществе разработчиков. Стоит отметить ещё раз – в большинстве случаев можно не ставить точку с запятой. Но безопаснее, особенно для новичка, ставить её.
Комментарии
Со временем программы становятся всё сложнее и сложнее. Возникает необходимость добавлять комментарии, которые бы описывали, что делает код и почему.
Комментарии могут находиться в любом месте скрипта. Они не влияют на его выполнение, поскольку движок просто игнорирует их.
Однострочные комментарии начинаются с двойной косой черты // .
Часть строки после // считается комментарием. Такой комментарий может как занимать строку целиком, так и находиться после инструкции.
// Этот комментарий занимает всю строку alert('Привет'); alert('Мир'); // Этот комментарий следует за инструкцией
Многострочные комментарии начинаются косой чертой со звёздочкой /* и заканчиваются звёздочкой с косой чертой */ .
/* Пример с двумя сообщениями. Это - многострочный комментарий. */ alert('Привет'); alert('Мир');
Содержимое комментария игнорируется, поэтому, если мы поместим код внутри /* … */ , он не будет исполняться.
Это бывает удобно для временного отключения участка кода:
/* Закомментировали код alert('Привет'); */ alert('Мир');
Используйте горячие клавиши!
В большинстве редакторов строку кода можно закомментировать, нажав комбинацию клавиш Ctrl + / для однострочного комментария и что-то вроде Ctrl + Shift + / – для многострочных комментариев (выделите кусок кода и нажмите комбинацию клавиш). В системе Mac попробуйте Cmd вместо Ctrl и Option вместо Shift .
Вложенные комментарии не поддерживаются!
Не может быть /*. */ внутри /*. */ .
Такой код «умрёт» с ошибкой:
/* /* вложенный комментарий . */ */ alert( 'Мир' );
Не стесняйтесь использовать комментарии в своём коде.
Комментарии увеличивают размер кода, но это не проблема. Есть множество инструментов, которые минифицируют код перед публикацией на рабочий сервер. Они убирают комментарии, так что они не содержатся в рабочих скриптах. Таким образом, комментарии никоим образом не вредят рабочему коду.
Позже в учебнике будет глава Качество кода, которая объяснит, как лучше писать комментарии.