Zuhause Entwicklung Was ist referentielle Transparenz? - Definition aus techopedia

Was ist referentielle Transparenz? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet referenzielle Transparenz?

Referentielle Transparenz ist eine Eigenschaft eines bestimmten Teils eines Programms oder einer Programmiersprache, insbesondere funktionaler Programmiersprachen wie Haskell und R. Ein Ausdruck in einem Programm wird als referentiell transparent bezeichnet, wenn er durch seinen Wert ersetzt werden kann und das resultierende Verhalten so ist das gleiche wie vor der Änderung. Dies bedeutet, dass das Verhalten des Programms nicht geändert wird, unabhängig davon, ob es sich bei der verwendeten Eingabe um eine Referenz oder um einen tatsächlichen Wert handelt, auf den die Referenz verweist.

Techopedia erklärt die referenzielle Transparenz

Referentielle Transparenz hat ihre Wurzeln in der analytischen Philosophie, einem Zweig der Philosophie, der sich mit Konstrukten, Argumenten und Aussagen natürlicher Sprache befasst, die auf mathematischen und logischen Methoden basieren, und wenig mit Programmierung zu tun hat, obwohl sie von Informatikern übernommen wurde.

Das Konzept ist einfach, der "Referent", auf den sich ein Ausdruck bezieht, kann verwendet werden, um den "Referer" zu ersetzen, ohne die Bedeutung des Ausdrucks zu ändern. Zum Beispiel bezieht sich die Aussage "Lukes Vater ist ein böser Mann", "Lukes Vater" auf "Darth Vader" in Star Wars-Überlieferungen. Die Aussage ist also referenziell transparent, da "Lukes Vater" jederzeit durch "Darth Vader" ersetzt werden kann und sich die Bedeutung der Aussage nicht ändern würde. In der Aussage "Das Publikum wusste nicht, bis 'The Empire Strikes Back' ', dass Lukes Vater tatsächlich Darth Vader ist" ist dies jedoch kein referenziell transparenter Ausdruck, da der Ausdruck "Darth Vader" wird, wenn "Lukes Vater" durch "Darth Vader" ersetzt wird Das Publikum wusste erst bei 'The Empire Strikes Back', dass Darth Vader tatsächlich Darth Vader ist, "was eine ganz andere Bedeutung hat.

In Bezug auf die Programmierung ist das Konzept auf den ersten Blick das gleiche, aber viele Philosophen sind sich nicht einig, dass das Konzept in Programmiersprachen gut umgesetzt oder übertragen wird. In der allgemeinen Programmierung bedeutet dies jedoch lediglich, dass ein Ausdruck durch seinen resultierenden Wert ersetzt werden kann, ohne dass dies Auswirkungen auf das Verhalten des Programms hat. Zum Beispiel addiert die Funktion plusOne (x) einfach eins zu dem Wert von x. Wenn wir also wissen, dass x = 5 ist, können wir die Funktion sicher durch den Wert 6 in einem Ausdruck ersetzen, der bei Verwendung von plusOne dasselbe Verhalten ergibt (x). Wenn es jedoch eine externe Variable innerhalb des Ausdrucks gibt, die extern gesteuert wird, beispielsweise in der Funktion plusY (x), in der Y innerhalb der Funktion extern gesteuert wird, ist das resultierende Verhalten möglicherweise nicht das gleiche. In diesem Fall ist dies keine referenziell transparente Variable Ausdruck.

Was ist referentielle Transparenz? - Definition aus techopedia