Use of "transparent" in computing
One word that has always baffled me in the context of software/computing is “transparency”. “This change is completely transparent to the application” - or some version of it is often used to tell consumers of an application/library that a certain change won’t be noticeable by the consumer at all. If I were to put in my English language hat on (a non-native at that), i would think that means “so, the consumer will see the change” and not the intended “the consumer will not see the change”.
The wikipedia article on the topic Transparency (human–computer interaction) mentions this (towards the end of the first paragraph) which states my own sentiment well:
The vast majority of the times, the term transparent is used in a misleading way to refer to the actual invisibility of a computing process, which is also described by the term opaque, especially with regards to data structures.[citation needed] Because of this misleading and counter-intuitive definition, modern computer literature tends to prefer use of “agnostic” over “transparent”.
So, i am going to start consciously using “agnostic” from now on. At least, my mental model now is clear. And I will know that i am not the only one confused by this.