Jump to content

Программирование на уровне ценностей

Программирование на уровне значений относится к одной из двух противоположных парадигм программирования, определенных Джоном Бэкусом в его работе над программами как математическими объектами , другая — программирование на уровне функций . Первоначально Бэкус использовал термин «программирование на уровне объектов» , но теперь этот термин часто путают с объектно-ориентированным программированием .

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

Обычные программы фон Неймана работают на уровне значений: выражения в правой части операторов присваивания предназначены исключительно для создания значения, которое затем необходимо сохранить.

Связь с типами данных [ править ]

Подход к программированию на уровне значений предполагает изучение пространства значений операций формирования стоимости и алгебраических свойств этих операций. Это то, что называется изучением типов данных , и оно продвинулось от сосредоточения внимания на самих значениях и их структуре к первостепенному интересу к операциям формирования значений и их структуре, заданной определенными аксиомами и алгебраическими законами, то есть , к алгебраическому изучению типов данных .

Связь с языками лямбда-исчисления [ править ]

Языки, основанные на лямбда-исчислении (такие как Lisp , ISWIM и Scheme являются ), на практике языками уровня значений, хотя они не ограничены таким образом дизайном.

Чтобы понять, почему типичные программы в стиле лямбда в основном работают на уровне значений, рассмотрим обычное определение функции преобразования значения в значение, например

f = λx.E

здесь x должен быть переменной-значением (поскольку аргумент f является значением по определению), а E также должно обозначать значение (поскольку результат f является значением по определению). Обычно E представляет собой выражение, включающее применение функций формирования значений для определения значений переменных и констант; тем не менее, несколько функций формирования значений, имеющих аргументы как функции, так и значения, существуют и используются для ограниченных целей. [ нужна ссылка ] .

Если термин «значения» определен так, чтобы включать в себя сами переменные-значения, то представление программирования на уровне значений представляет собой представление о создании значений путем применения существующих программ (операций/функций, формирующих значение) к другим значениям. Программирование в стиле лямбда создает новую программу на основе значения результата путем лямбда-абстрагирования переменных значения.

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

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a8983ac384d7d6b7e77efd52c594ee9c__1706815140
URL1:https://arc.ask3.ru/arc/aa/a8/9c/a8983ac384d7d6b7e77efd52c594ee9c.html
Заголовок, (Title) документа по адресу, URL1:
Value-level programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)