Що таке референтна прозорість?
З: Що таке референтна прозорість?
В: Прозорість посилань - це властивість частин комп'ютерних програм, коли частину програми можна замінити значенням, яке вона повертає, без зміни поведінки програми.
З: Що є протилежністю референтної прозорості?
В: Протилежністю прозорості посилань є непрозорість посилань.
З: Чи всі функції у математиці є посилально прозорими?
В: Так, усі функції в математиці є референтно прозорими, оскільки математична функція може лише приймати значення на вході та виводити значення на виході.
З: Як прозорість посилань допомагає програмістам та компіляторам?
В: Прозорість посилань дозволяє програмістам і компіляторам думати про код як про систему переписування - щось, що бере вираз і замінює його чимось іншим. Це допомагає у вирішенні таких завдань, як доведення правильності програми або коду, спрощення алгоритму, полегшення внесення змін до коду, не втрачаючи при цьому впевненості в тому, що він робить те, що повинен, а також пришвидшення роботи коду або зменшення використання ним пам'яті.
З: Які існують методи, що дозволяють пришвидшити роботу коду або зменшити його споживання пам'яті?
A: Деякі прийоми, які використовуються для пришвидшення роботи коду або зменшення його пам'яті, включають запам'ятовування (збереження відповідей після першого разу), усунення спільних під-виразів (з'ясування того, чи варто об'єднувати дві однакові частини коду), ліниву оцінку (відмова від пошуку відповіді доти, доки вона не знадобиться коду) та розпаралелювання (робота над декількома проблемами одночасно).
З: Чи є якась різниця між функціями в програмуванні та функціями в математиці?
Відповідь: Так, існує різниця між функціями у програмуванні та функціями у математиці - у програмуванні функція може також з'ясувати, який сьогодні день року, або вивести повідомлення на екран, тоді як у математичних функціях це неможливо.