2013-06-29 2 views
19

Две части жаргоне программирования, которые вызывают мне больше путаницы слова прозрачный и непрозрачные. Они довольно часто используются, но я никогда не был полностью понятен их смысл.Что означают «прозрачные» и «непрозрачные» при применении к концепциям программирования?

Google бросает множество примеров употребления слова 'прозрачной', как:

, а также кучу результатов для «непрозрачных», в основном связанных с концепцией C s:

хотя я также видел слово, используемое в условиях, не связанных с C.

Оставляя в стороне их использования в конкретных условиях сложных как «непрозрачный указатель», какие значения имеют слова transparent и opaque есть в сфере программирования? Являются ли они противоположностями друг друга, как визуальные концепции, с которыми они метафорически ссылаются, или они не связаны друг с другом?

ответ

17

В примерах, которые вы даете, прозрачного используются для обозначения скрыты в смысле вещей, которые происходят автоматически за кадром (т.е. без пользователя кода или программы, имеющей взаимодействовать).

Непрозрачный также используется для обозначения скрытых, что, возможно, где смешение приходит. Термин непрозрачный тип имеет specific meaning in C/C++, где оно относится к типу, который был объявлен, но еще не определен ,

В обоих случаях, я думаю, люди используют эти термины, чтобы выразить отсутствие видимости. Прозрачный используется там, где что-то присутствует, но вы его не видите. Opaque используется там, где что-то присутствует, но вы не можете видеть внутри его, чтобы проверить его внутреннюю работу.

+3

Это может быть так, но я бы сказал, что каждый, кто описывает скрытый механизм как прозрачный, неправильно использует слово и должен действительно использовать слово opaque. –

Смежные вопросы