Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Критика [ править ]

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

Примеры [ править ]

  • АЛГОЛ 68
  • Значок
  • Лисп
  • ML
  • Perl
  • REBOL
  • Рубин
  • Haskell
  • Ржавчина
  • Scala

См. Также [ править ]

  • Разделение команд и запросов
  • функциональное программирование

Заметки [ править ]


Ссылки [ править ]

  1. ^ Соглашения по коду Java «10.4 Назначение переменных»
  2. ^ Спецификация языка Java, Java SE 8 Edition "14.9 Оператор if"
  3. ^ Представляем Аду
  4. ^ Справочник по языку Python «6.2. Операторы присваивания»