2013-06-29 24 views
19

Dwa kawałki programowania żargonu, które powodują mi najwięcej nieporozumień są słowa przejrzysty i nieprzezroczyste. Są one dość powszechnie używane, ale nigdy nie byłem w pełni jasny co do ich znaczenia.Co oznacza słowo "przezroczysty" i "nieprzejrzysty" w odniesieniu do koncepcji programowania?

Google rzuca się mnóstwo przykładów użycia słowa 'przejrzysty', jak:

a także bandą wyników dla "opaque", w większości związanych z koncepcją C s:

chociaż ja też widziałem słowo używane w kontekstach Pomijając ich wykorzystania w ramach poszczególnych kategoriach złożonych niezwiązanej C

jak "nieprzezroczysty wskaźnik", jakie znaczenie mają słowa przezroczyste i nieprzejrzysty mają w ramach programowania? Czy są one nawet przeciwieństwami nawzajem, jak wizualne pojęcia, do których metaforycznie nawiązują, czy są ze sobą niezwiązane?

Odpowiedz

17

W przykładach dajesz, przejrzysty jest używane w znaczeniu ukryty w sensie rzeczy odbywających się automatycznie za kulisami (czyli bez użytkownika kodu lub programu mającego na interakcję).

Opaque jest również używane w znaczeniu ukryty, który jest chyba gdzie zamieszanie przychodzi. Termin nieprzezroczysty typ ma specific meaning in C/C++, w którym odnosi się do rodzaju, które zostały zadeklarowane, lecz jeszcze nie zdefiniowano .

W obu przypadkach ludzie używają tych terminów, aby wyrazić brak widoczności. Przezroczysty jest używany tam, gdzie coś jest obecne, ale go nie widać. Opaque jest używany tam, gdzie coś jest obecne, ale nie można zobaczyć wewnątrz, aby sprawdzić jego wewnętrzne działania.

+3

Może tak jest, ale powiedziałbym, że każdy, kto opisuje ukryty mechanizm jako przezroczysty, używa tego słowa niepoprawnie i powinien naprawdę użyć słowa "opaque". –