Блок (также говорят блок кода, блок команд, блок инструкций) в программировании — это логически сгруппированный набор идущих подряд инструкций в исходном коде программы, является основой парадигмы структурного программирования.
Блоки служат для ограничения области видимости переменных и функций, а также позволяют обращаться к блоку инструкций как к единой инструкции, могут быть пустыми или вложенными один в другой.
С одной стороны, блок – крайне простая концепция программирования, с другой стороны, в некоторых языках программирования, например, в JavaScript, он связан с не малым количеством малозаметных специфичных особенностей, порой усложняющих оперирование им.
Для выделения блоков применяются специальные конструкции языка программирования. Например, в семействе Си-подобных языков (С, C++, Java) и в языке JavaScript применяются фигурные скобки («{»
и «}»
). В языках, основанных на ALGOL, применяются ключевые слова begin
и end
(операторные скобки). В языках, основанных на Lisp, применяются S-выражения (lambda
, let
и т. д.) В языке Python блоки определяются различиями в отступе строк кода от левого края начала строки (обычно в 4 символа пробела).
Во многих языках блоки используются для ограничения области видимости. Так, например, переменная i
, объявленная внутри блока, будет «видна» в этом блоке (включая вложенные блоки), но не будет «видна» за его пределами, поэтому часто используемый идентификатор i
может применяться во многих местах программы, не вызывая ошибок. То же относится к именам процедур, функций, в некоторых языках — классов.
Область видимости блока в некоторых языках имеет довольно нетривиальное поведение. Например, в языке JavaScript её действие зависит от нескольких обстоятельств.