Dom Razvoj Što je referentna transparentnost? - definicija iz tehopedije

Što je referentna transparentnost? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači referentna transparentnost?

Referentna transparentnost svojstvo je određenog dijela programa ili programskog jezika, posebno funkcionalnih programskih jezika poput Haskell-a i R. Izraz u programu se kaže da je referentno transparentan ako ga se može zamijeniti njegovom vrijednošću i rezultirajuće ponašanje je isto kao i prije promjene. To znači da se ponašanje programa ne mijenja je li upotrijebljeni ulaz referentna ili stvarna vrijednost na koju referenca ukazuje.

Tehopedia objašnjava referentnu transparentnost

Referentna transparentnost ima svoje korijene u analitičkoj filozofiji, koja je grana filozofije koja proučava prirodne jezične konstrukcije, argumente i izjave temeljene na metodama matematike i logike i nema puno veze s programiranjem, iako su je usvojili računalni znanstvenici.

Koncept je jednostavan, "referent", stvar na koju se izraz odnosi, može se upotrijebiti za zamjenu "preporučitelja" bez promjene značenja izraza. Na primjer, izjava "Lukeov otac je zli čovjek", "Lukeov otac" spominje "Darth Vader" u odjelu Star Wars. Dakle, izjava je referentno transparentna jer se "Lukeov otac" može u bilo kojem trenutku zamijeniti s "Darth Vader" i izjava se ne bi promijenila u značenju. Međutim, u izjavi "publika nije znala sve dok" Carstvo uzvraća udarac "da je Lukeov otac zapravo Darth Vader" nije referentno transparentan izraz jer ako je "Lukeov otac" zamijenjen sa "Darth Vader", taj izraz postaje " publika nije znala sve dok "Carstvo uzvraća udarac" da je Darth Vader zapravo Darth Vader ", što ima potpuno drugačije značenje.

U odnosu na programiranje, koncept je na prvi pogled isti, ali mnogi se filozofi ne slažu da se koncept dobro provodi ili prenosi u programskim jezicima. Ali u općenitom programiranju to jednostavno znači da izraz može biti zamijenjen rezultirajućom vrijednošću bez utjecaja na ponašanje programa. Na primjer, funkcija plusOne (x) jednostavno dodaje jednu bez obzira na vrijednost x, tako da ako znamo da je x = 5, možemo sigurno zamijeniti funkciju vrijednošću 6 u izrazu koji stvara isto ponašanje kada upotrebljavamo plusOne (x). Ali ako unutar izraza postoji vanjska varijabla koja se kontrolira izvana, recimo u funkciji plusY (x) gdje je Y unutar funkcije izvana kontrolirano, rezultirajuće ponašanje možda nije isto - u ovom slučaju to nije referentno transparentno izraz.

Što je referentna transparentnost? - definicija iz tehopedije