Язык программирования, ориентированный на выражения - Expression-oriented programming language

An язык программирования, ориентированный на выражения это язык программирования где каждая (или почти каждая) конструкция является выражение и, таким образом, дает значение. Типичные исключения: макрос определения, препроцессор команды и объявления, которые в языках, ориентированных на выражения, часто рассматриваются как заявления а не выражения. Некоторые языки, ориентированные на выражения, вводят тип возврата void быть получено выражениями, которые просто вызывают побочные эффекты.

АЛГОЛ 68 и Лисп являются примерами языков, ориентированных на выражения. Паскаль не является языком, ориентированным на выражения. Все функциональные языки программирования ориентированы на выражение.[нужна цитата ]

Критика

Критики, в том числе языковые дизайнеры,[1] обвинять ориентацию на выражение в целом классе ошибки программирования где программист вводит выражение присваивания где они хотели проверить равенство. Например, дизайнеры Ада и Ява были так обеспокоены ошибками такого рода, что ограничили контрольные выражения тем, кто оценивает строго логический тип данных.[2][3] Дизайнеры Python были аналогичные опасения, но использовали альтернативную стратегию реализации присваивания как оператора, а не выражения, таким образом запрещая вложение присваивания внутри любого другого оператора или выражения.[4]

Примеры

Смотрите также

Примечания


Рекомендации