Будинки Розвиток Що таке референтна прозорість? - визначення з техопедії

Що таке референтна прозорість? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає референтна прозорість?

Референтна прозорість є властивістю певної частини програми або мови програмування, особливо функціональних мов програмування, таких як Haskell та R. Вираз у програмі, як кажуть, є референтно прозорим, якщо його можна замінити його значенням і поведінкою, що виникає в результаті те саме, що до зміни. Це означає, що поведінка програми не змінюється, чи введений вхід є опорним чи фактичним значенням, на яке вказує посилання.

Техопедія пояснює прозорість референції

Референтна прозорість має своє коріння в аналітичній філософії, яка є галуззю філософії, яка вивчає природні мовні конструкції, аргументи та твердження на основі методів математики та логіки і мало стосується до програмування, хоча це було прийнято комп'ютерними науковцями.

Поняття просте, "референт" - те, на що йдеться у виразі, може бути використане для заміни "референта", не змінюючи значення виразу. Наприклад, у висловлюванні "Батько Люка - зла людина", "Батько Люка" згадується "Дарт Вейдер" у краєзнавчому вірі. Таким чином, заява є прозоро прозорим, оскільки "батька Люка" можна в будь-який час замінити на "Дарт Вейдер", і заява не змінює значення. Однак у заяві "глядачі не знали, поки" Імперія завдає удару ", що батько Люка - це насправді Дарт Вейдер" - це не відносно прозорий вираз, оскільки якщо "батька Люка" замінено на "Дарт Вейдер", вираз стає " Аудиторія до цих пір не знала, що "Емпірія відбивається", що Дарт Вейдер - це насправді Дарт Вейдер ", що має зовсім інше значення.

Що стосується програмування, то концепція на перший погляд є однаковою, але багато філософів не згодні з тим, що концепція реалізована або перенесена в мовах програмування. Але в цілому програмування це просто означає, що вираз можна замінити отриманим значенням, не впливаючи на поведінку програми. Наприклад, функція plusOne (x) просто додає її до будь-якого значення x, тому, якщо ми знаємо, що x = 5, ми можемо сміливо замінити функцію на значення 6 в виразі, який викликає таку саму поведінку при використанні plusOne (х). Але якщо в виразі є зовнішня змінна, яка керується зовні, скажімо, у функції plusY (x), де Y в межах функції керується зовнішньо, поведінка, що виникає, може бути не однаковою - у цьому випадку це не є референтно прозорим вираз.

Що таке референтна прозорість? - визначення з техопедії