чистота языка программирования
Sign in to saveAlso known as pure functional programming
programming paradigm that treats all computation as the evaluation of mathematical functions
In the Vinony graph
Within Vinony's link graph, чистота языка программирования is referenced by 224 other articles, and connects out to immutable object, evaluation strategy and computer science.
Vinony files it under Functional programming and Programming paradigms.
Its subject is documented across 6 Wikipedia language editions.
Wikidata facts
- Instance of
- programming paradigm
- Subclass of
- declarative programming
Show 1 more fact
- opposite of
- imperative programming
via Wikidata · CC0
Article · Русский
Чистота́ (в отношении языка программирования) — отсутствие побочных эффектов. Язык программирования является чистым в том случае, если все функции в программах этого языка являются чистыми. Программы, написанные на чистых языках программирования, проще отлаживать, верифицировать,в них проще обнаруживать ошибки, которые не удалось обнаружить с помощью тестирования.Программы на чистом языке программирования проще переписывать, избегая внесения ошибок.В то же время, сам процесс планирования программы с расчётом на чистоту сложнее. Ещё одним важным преимуществом чистых функциональных языков является параллелизм. Поскольку все функции для вычислений используют только свои параметры, можно организовать вычисление независимых функций в произвольном порядке или параллельно, на результат вычислений это не повлияет. Параллелизм может быть организован не только на уровне компилятора языка, но и на уровне архитектуры технических средств. Существуют экспериментальные компьютеры, основанные на подобных архитектурах, например Lisp-машина. Чистые функциональные языки временами называют «детерминированными» в том смысле, что для всякой функции каждый вызов всегда даёт один и тот же эффект (в императивных языках это, вообще говоря, не верно). В то же время, такие языки называют «недетерминированными» в том смысле, что порядок действительного исполнения программы может сильно меняться в зависимости от конкретной реализации языка: алгоритмы могут неявно распараллеливаться, промежуточные данные могут исключаться из цепочки преобразований, представление одних и тех же типов может варьироваться даже в рамках одной программы, и т. д. (для императивных языков это попросту невозможно). Проще говоря, чистые языки детерминированы на уровне исходных кодов и недетерминированы на уровне реализации (императивные — наоборот).
Abstract from DBpedia / Wikipedia · CC BY-SA