Что означает "прозрачный" и "непрозрачный", когда применяется к концепциям программирования?
Два куска программирования, которые вызывают наибольшую путаницу, - это слова прозрачные и непрозрачные. Они довольно часто используются, но я никогда не был полностью понятен их смысл.
Google предлагает множество примеров использования слова "прозрачный", например:
а также кучу результатов для "непрозрачных", в основном связанных с понятиями C:
хотя я также видел слово, используемое в контекстах, не связанных с C.
Оставляя в стороне их использование в определенных сложных терминах, таких как "непрозрачный указатель", какие значения имеют слова, прозрачные и непрозрачные, в рамках программирования? Являются ли они друг другом противоположностями, как визуальные концепции, с которыми они метафорически ссылаются, или они не связаны друг с другом?
Ответы
Ответ 1
В приведенных вами примерах прозрачный используется для обозначения скрытых в смысле вещей, происходящих автоматически за кулисами (т.е. без использования кода или программы для взаимодействия).
Opaque также используется для обозначения скрытых, что, возможно, связано с путаницей. Термин непрозрачный тип имеет конкретное значение в C/С++, где он относится к типу, который был объявлен, но еще не определен.
В обоих случаях, я думаю, люди используют эти термины, чтобы выразить отсутствие видимости. Прозрачный используется там, где что-то присутствует, но вы его не видите. Непрозрачный используется там, где что-то присутствует, но вы не можете видеть его внутри, чтобы проверить его внутреннюю работу.