Выражение-ориентированный язык программирования является язык программирования , в котором каждый (или почти каждый) строительство представляет собой выражение и , следовательно , дает величину. Типичными исключениями являются определения макросов , команды препроцессора и объявления , которые в языках программирования, ориентированных на выражения, часто рассматриваются как операторы .
Алгол 68 и Лисп - это языки, ориентированные на выражения. Паскаль не является языком, ориентированным на выражения.
Все языки функционального программирования ориентированы на выражения. [ необходима цитата ]
Критика и предупреждение
Критики, в том числе разработчики языков, [1] обвиняют ориентацию на выражения во всем классе ошибок программирования, когда программист случайно кодирует выражение присваивания , которое заменяет переменную выражением, а не проверяет его на равенство с этим выражением.
Разработчики Ada и Java предотвращают этот тип ошибки, ограничивая управляющие выражения теми, которые оценивают строго логический тип данных . [2] [3]
Разработчики Python реализовали присваивание как инструкцию, а не выражение, тем самым запрещая вложение присваивания внутри любого другого оператора или выражения. [4]
В некоторых языках, ориентированных на выражения, выражения, вызывающие просто побочные эффекты, возвращают типы void .