2013-06-29 5 views
19

Die beiden Teile der Programmierung Jargon, dass mir die Verwirrung verursachen, sind die Worte transparent und undurchsichtigen. Sie werden ziemlich häufig verwendet, aber ich war nie ganz klar in ihrer Bedeutung.Was bedeuten "transparent" und "undurchsichtig" bei der Anwendung auf Programmierkonzepte?

wirft Google viele Beispiele für Verwendung des Wortes up 'transparent', wie:

und auch ein paar der Ergebnisse für "undurchsichtig", meist in Bezug auf C-Konzept s:

obwohl ich auch das Wort in Kontexten in keinem Zusammenhang mit C.

Abgesehen von ihrer Verwendung in spezifischen Verbindung verwendeten Begriffe gesehen wie "opaque pointer", welche Bedeutung haben die Wörter transparent und undurchsichtig haben im Bereich der Programmierung? Sind sie überhaupt Gegensätze, wie die visuellen Konzepte, auf die sie metaphorisch anspielen, oder stehen sie nicht in Beziehung zueinander?

Antwort

17

In den Beispielen Sie geben, ist transparent im Sinne der Dinge verborgen bedeuten, die verwendet wird, automatisch hinter den Kulissen (das heißt ohne dass der Benutzer des Codes oder das Programms zur Interaktion mit).

Opaque ist auch versteckt bedeuten, verwendet werden, die vielleicht ist, wo die Verwirrung kommt. Der Begriff unverständlichen Typ ein specific meaning in C/C++ hat, wo es auf eine Art bezieht, die erklärt hat, aber noch nicht definiert .

In beiden Fällen denke ich, dass Leute diese Begriffe verwenden, um einen Mangel an Sichtbarkeit auszudrücken. Transparent wird verwendet, wenn etwas vorhanden ist, aber Sie können es nicht sehen. Opaque wird verwendet, wo etwas vorhanden ist, aber Sie können innerhalb es nicht sehen, um seine inneren Arbeiten zu überprüfen.

+3

Das mag der Fall sein, aber ich würde sagen, dass jeder, der einen versteckten Mechanismus als transparent beschreibt, das Wort falsch verwendet und stattdessen das Wort opak verwenden sollte. –

Verwandte Themen