Talk:Encapsulation (computer programming)
|This article is the subject of an educational assignment supported by Wikipedia Ambassadors through the India Education Program.|
|WikiProject Computing||(Rated Start-class)|
|WikiProject Computer science||(Rated Start-class, High-importance)|
If you don't already know what encapsulation is, you'll likely not understand a word of this article. Too technical, too preoccupied with OOP. I'm a reasonably experienced developer, and I had to read it slowly to understand anything at all. 18.104.22.168 (talk) 12:09, 9 July 2015 (UTC)
Why is the word "orthogonal" used on about the 9th line of this article? Doesn't it mean "absolutely without influence"? I suspect that even to establish its possibility in this situation would require some heavy-duty theorizing. How about "apparently (or superficially, or tentatively, or ?) independent? -lifeform (talk) 05:37, 21 November 2015 (UTC)
- Edit the page to add that information. It won't appear by itself. 22.214.171.124 (talk) 18:21, 15 January 2016 (UTC)
Encapsulation is information hiding
Honestly, I was surprised to find that there are two articles covering what I always thought was the exact same thing. Despite what the oft cited JavaWorld article claims, encapsulation and information hiding are synonymous.
I'm not saying there is only one definition, but if you look back to the first real references to the term "encapsulation" in the late 1970s, you see that encapsulation was first used to mean "designing software in such a way as to hide certain details from your clients", i.e. information hiding. In fact, in "Concise Notes on Software Engineering" (1979), the author refers to this paper – the one used by the JavaWorld article to make the distinction between information hiding and encapsulation – as describing "the priciples of encapsulation". This is just one of the more clear examples. Practically every early reference to "encapsulation" describes it as synonymous with information hiding.
Later on, in the late 1980s and early 1990s, as object-orientated programming gained traction, the "encapsulation mechanisms" provided by some OO languages started to become synonymous with encapsulation. That is, to some people "encapsulation" became "bundling data with methods to hide it from clients". Unfortunately, due to the existence of "public" access modifiers (a programming feature designed to break encapsulation), at some point some people started thinking that encapsulation was simply "bundling data with methods", with no reference to information hiding whatsoever. Of course, without encapsulation, "bundling data with methods" is merely syntactic sugar.
This is all my analysis though. If I get the time I will edit the article to indicate that encapsulation is information hiding, and provide many sources to back it up. Hpesoj00 (talk) 21:32, 3 August 2016 (UTC)