Язык программирования, ориентированный на выражения, — это язык программирования , в котором каждая (или почти каждая) конструкция является выражением и, таким образом, возвращает значение. [1] Типичными исключениями являются определения макросов , команды препроцессора и объявления , которые языки, ориентированные на выражения, часто рассматривают как операторы .
Lisp [2] и ALGOL 68 — это языки, ориентированные на выражения. Pascal не является языком, ориентированным на выражения.
Все языки функционального программирования ориентированы на выражения. [3]
This article or section possibly contains original synthesis. Source material should verifiably mention and relate to the main topic. (July 2022) |
Критики, включая разработчиков языка, [4] [ неудачная проверка ] возлагают вину за целый класс ошибок программирования , когда программист случайно кодирует выражение присваивания , которое заменяет переменную выражением, а не проверяет ее на равенство с этим выражением.
Разработчики Ada и Java предотвращают этот тип ошибок, ограничивая управляющие выражения теми, которые оцениваются строго по булевому типу данных . [5] [6]
Разработчики Python реализовали присваивание как оператор, а не выражение, тем самым запретив вложение присваивания в любой другой оператор или выражение. [7] (До версии 3.8 были добавлены «выражения присваивания» с другим синтаксисом. [8] )
В некоторых языках, ориентированных на выражения, выражения, которые просто вызывают побочные эффекты , возвращают типы void .
This article needs additional citations for verification. (July 2022) |
This section needs expansion. You can help by adding to it. (February 2018) |