Talk:Leaky abstraction

message: Many thanks to the person who made the excellent enhancement to the article, including improvements in clarity and structure. Especially appreciated is the rework done on the "philosophical" section, which I had not managed to bring to a level suitable for inclusion. 
If you are still around, I would like to modify the following: 
The conjecture that all sufficiently interesting abstractions are leaky thus has profound philosophical ramifications.
with a reference to Incompleteness_theorem, also change "conjecture" to "theorem" ... any feedback on whether that is appropriate? Thanks! dr.ef.tymac 15:58, 14 December 2006 (UTC)
thread_title:  salutations for the article enhancement 

message: This article is based on a pervasive misunderstanding of Spolsky's concept: his law is talking about abstractions, not their implementations. TCP is a leaky abstraction -- it doesn't matter which implementation you might examine. Similarly, virtual memory is a leaky abstraction, regardless of the particular hardware platform you're looking at (although the properties of different hardware platforms might cause more or less leaks through the VM abstraction -- NUMA, for example). The article then takes this misunderstanding, and piles on a bunch of uninformed original research -- the end result is almost worse than useless. Deserves to be rewritten from scratch. Neilc (talk) 03:49, 16 January 2009 (UTC)
thread_title: This article is plainly wrong

message: I've read Spolsky's paper.  Each of his examples is about an implementation of an abstraction.  Words like "abstraction" have specific meanings in fields other than Computer Science.  It's appropriate to point that out, and how the concept has been extended to those other fields.  This article is not about Spolsky and need not adopt his definitions.
For example, a commenter above who feels that "Spolsky's idea, which, in my view, is an indepensible piece of philosophy for anyone working in software development" notes with disdain that "that abstractions *themselves* necessarily involve hiding reality, and as such break down once reality starts to intrude" - which of course is what this article, as written, reveals.  In more rigorous fields, the term "implementation" is used in place of the phrase "once reality starts to intrude".  206.124.141.189 (talk) 09:41, 21 April 2009 (UTC)
thread_title: This article is plainly fine

message: On Wikipedia, this page should only be a summary of a notable concept as described by a notable individual. It should give the gist of the original essay which it relates to, and that's all. The philosophical business to do with quarks, and the attempt to link this to the whole history of Western philosphy, is ridiculously inappropriate. Yes, the originator of that analogy may be out of their depth, but there's no need to even have that debate on Wikipedia. That stuff just shouldn't be on Wikipedia, because it's not part of a NPOV description of this notable topic.
Suggested revised page: Brief summary of the point made in the essay. Link to essay (the purpose of which is to go into depth on the subject). End of topic.
Suggested summary: 
Law of Leaky Abstractions comes from Spolsky essay, in which he suggests that abstracts have a cost as well as a benefit; with each new layer of abstractions introduced into software, we still have to understand all the layers beneath it.
NB. the second clause of that single sentence is the key point of the essay, currently not clearly stated on this page!
(And some links demonstrating that the essay is widely cited wouldn't go amiss).
earwicker (talk) 13:40, 25 June 2009 (UTC)
thread_title:  This article is wrongly fine 

message: That would make slightly more sense.
:Seconded! This is one of those cases where the Talk Page is way more interesting than the Article! And funnier. 190.194.206.43 (talk) 00:27, 20 December 2016 (UTC)
thread_title:  I suggest swapping the Talk page and Article. 

message: From reading the above, there are two controversies: one about how faithfully this article mimes Spolsky's paper, and one about whether the article is making original claims.
To the Spolsky issue, someone ought to create some new pages like "Spolsky's Paper Entitled 'The Law of Leaky Abstractions'" and "Whether Spolsky Uses Mathematical and Philosophical Terminology In His Papers" and "The Amount of Love Some People Have for Spolsky".
This article is not about Spolsky's paper.  The term "Leaky Abstraction" has entered into general use, and it now has a meaning independent of Spolsky.  Of course, an article about the term must mention its origin.  But the primary purpose of this article must be to provide context about the ways in which the concept is relevant today.
: How many significant "general uses" of Leaky abstraction can you find that do not refer back to Spolsky? Rpm13 (talk) 14:02, 16 September 2009 (UTC)
replies: text:  This is the problem - I first heard the idea of "abstractions that leak" from my father in 1992 or thereabouts, in a conversation about Visual Basic (his point being that VB was a huge step forward in abstraction of GUI programming, the C++ approach being comparatively leaky). Could be that the "leaking" metaphor has been in widespread use for decades before Spolsky's article, but without published material to cite, we are stuck with Spolsky's article as the most widely-cited origination of it. earwicker (talk) 07:47, 26 September 2009 (UTC)

text: Other than providing cites to all material facts, there does not seem to be an easy solution. In this context, the examples obviously do not constitute material facts, but rather the assertions: 1) that this concept is indeed in general use; 2) that this concept is relevant today (or historically relevant); and 3) that this concept (regardless of its origins) can be defined according to one or more reliable sources, independent of the opinions and examples given by article contributors. dr.ef.tymac (talk) 06:42, 14 September 2009 (UTC)
replies: text: Not having read Spolsky's books, I cannot cite them in the article; however, the article is in the uncomfortable position of depending on a blog entry rather than a print entry. --Ancheta Wis (talk) 10:53, 3 February 2010 (UTC)
thread_title: This article does not have "Spolsky" in the title

message: The notion of abstraction involves keeping things separate, and inherent in this is the concern that the things may mix themselves up again, and so it is hardly surprising that the word "leak" would arise in this context.
This article, per its title, is about the phrase "leaky abstraction", and was almost certainly originally created due to an article by Joel Spolsky. So if this article is about anything, it's about the popularisation of that specific phrase by Spolsky. I'm sure Spolsky was *not* the first to use it, but I have no references to prove it.
An overview section appeared at the top of the article, crediting Gregor Kiczales as the source of the term "leaky abstraction". A link to a PDF of a paper by him was added to the top of the external links list.
But the term "leaky abstraction" does not appear anywhere in the paper. He uses the work "leak" in the context of abstractions. This might have meant that he could be credited with originating a vague metaphor about abstractions, but he only uses the word "leak" when describing the point of another paper about software abstractions, so apparently this is evidence that he did not originate the idea.
So I've deleted the overview section entirely, but left the link to the external article with a more accurate explanation of what it contains. This only improves the article very slightly, but it's a start. earwicker (talk) 08:18, 26 September 2009 (UTC)
replies: text: I have added references for the concept, which do not use the term "leaky abstraction" either. Rather, the references are polemics designed to pierce the barrier of self-satisfaction of practitioners who hide behind the the shields of their profession because they are not understood by laymen. When the purported abstractions fail, then the shields of protection fail; the details are then exposed. For Taleb, the practitioners he is unmasking live in the financial industry. For Lakatos, the practitioners he is unmasking are mathematicians. For Feyerabend (who is not currently cited) the practitioners he is unmasking are scientists. And of course, scientists are well known for having unmasked religions. One of the goals of good art is to unmask the hidden assumptions of society. As you can see, the article is actually applied many places, but not necessarily under its present name (which is as good as any other, so why not use it). --Ancheta Wis (talk) 10:58, 3 February 2010 (UTC)
thread_title: Gregor Kiczales

message: Getting back to the basic quality of this article, I feel it is unsuitable as an introduction to the Computer Science (CS) jargon "Law of Leaky Abstractions." For example: I can't really email a link to this article to reinforce my own use of this term in a specific context (discussing a computer systems problem). I think that's the (very encyclopedic) primary use case for this page. The abstract concept of "leaky abstractions" is actually secondary to the actual facts of the term's connotative usage.
To document one person's expectations:
* Etymology. This is Wikipedia, even a bad one or incomplete one will do for now. There's too much quibbling that crosses the line between an etymology and epistemology.
* Epistemology. The concept is about the limits of knowledge. Though this particular expression is CS jargon, it is appropriate to refer to its cousins in other disciplines. It might be worthwhile to examine the concept's relationship to Philosophy of Science, specifically Aristotelian Ontology/Taxonomy.
* Examples. This is a great opportunity for self referential humor that demonstrates correct (elucidating) or misleading (occult) use of the term. Some links should be footnotes in this section.
* Related Concepts. Links to other stuff that does not belong IN, just NEAR this page: Although I'm fond of citing Godel's Theorem on Incompleteness, it's only a tangent on the basis that complexity prevents any system of abstractions from being complete. It does not explain "Law of Leaky Abstractions." These links should be a list of relationship descriptions, not just a list of related items: the verbs AND the nouns of the relationship. This makes room for all of the other big ideas people usually want to lump into the article.
I'm in favor of wiping the article and starting over. In cases of an edit war, and reading this talk page, no lack of energy can be blamed for the relative completeness or correctness. Let go. Use the force!
What say ye, Wikipedians?
aphor (talk) 16:59, 11 December 2009 (UTC)
replies: text: Added some citations. In lieu of other contributors, the current article can be a placeholder for the one you envision. Pax vobiscum. --Ancheta Wis (talk) 11:06, 3 February 2010 (UTC)
replies: text: The question is this: one article titled "Leaky Abstraction" which refers to "The Law of Leaky Abstractions" in its Etymology section?  Or a "The Law of Leaky Abstractions" article which talks about Spolsky's paper and its effects?  Or both?206.124.141.187 (talk) 06:00, 2 April 2010 (UTC)
thread_title:  This article is primarily about a TERM, not the abstract concept, which is poorly undocumented. 

message: In Lakatos, cited in the article, the Euler formula, also called the Euler characteristic is the toy problem which had tons of counterexamples (i.e., leaks) after a century of research. Poincare proves (i.e., implements) it by rewriting it in terms of another theory (a new dominant theory). There are articles on Rewriting systems which could be applied here. My point is there are many layers of abstraction which can potentially solve other problems (including leaks) at other layers of abstraction by rewriting (that is, refactoring). --Ancheta Wis (talk) 11:16, 3 February 2010 (UTC)
thread_title:  Rewriting system 

message: It is interesting how many times folks have suggested that this page should be rewritten from scratch and apparently how few folks have tried to actually do it.  Now that the edit war appears to have abated, I will take the opportunity to actually edit this page to reflect Wikipedia policies.  Nickmalik (talk) 04:28, 23 September 2010 (UTC)
thread_title:  Time for a rewrite 

message: I usually don't bother to correct buggy Wikipedia articles, but this one struck a nerve as I recall discussing the concept of leaky abstractions with colleagues back in the 90's. I'm sure Spolsky is a great person but giving him credit for coming up with this term is certainly wrong.
Here is an earlier quotation: 
"Inheritance has a touch of
leaky abstraction about it because it is of
the essence that it does not directly reveal
what is being inherited except by its
effects."
Here is the citation:
TY  - JOUR
AU  - Barnes, John
TI  - Half a century of programming and not much progress
JO  - Software Focus
JA  - Softw. Focus
VL  - 2
IS  - 1
PB  - John Wiley & Sons, Ltd.
SN  - 1529-7950
UR  - http://dx.doi.org/10.1002/swf.24
DO  - 10.1002/swf.24
SP  - 15
EP  - 20
KW  - software programming
KW  - programming languages
KW  - complexity
KW  - abstraction
PY  - 2001
ER  - 
http://onlinelibrary.wiley.com/doi/10.1002/swf.24/full
Note that the author of this article uses the term "leaky abstraction" as if he expects the reader to be familiar with it.
130.238.11.75 (talk) 10:35, 1 November 2011 (UTC)
thread_title:  Spolsky is certainly not the first to use this term!!! 

message: This has been a controversial page because of its title: "Leaky abstraction".  The term is a piece of jargon, and describing the colloquial use of jargon is not the role of Wikipedia.
There's even controversy about the origin of the phrase.  There's strong evidence that it wasn't coined by Spolsky.
I propose renaming this article "Law of Leaky Abstractions", which is a concrete thesis put forward by Spolsky, and which can be described objectively by reference to Spolsky's paper.  (I believe it would still be appropriate to cite known and clear antecedents to the paper, such as Barnes's and Kiczales's.)
This page can be turned into a redirect to "Law of Leaky Abstractions".
The "Effect on Software Development" section should be deleted as original pontification.
206.124.141.187 (talk) 08:26, 7 December 2012 (UTC)
thread_title:  Time to retire this page 

message: I see some old discussions above, but my impression is that the state of this article is reasonable: some leakiness seems unavoidable. A reader unfamiliar with the specific programming examples would have difficulty following them without continuing through to the related Wikipedia articles or trying the actual coding, but that seems difficult to avoid. A Wikipedia article should be an abstraction, but typically cannot avoid being leaky for in-depth understanding. That's the nature of knowledge - deeply interconnected. 
Any specific proposals for improvement should of course be done by editing or proposing edits on the talk page. :) Boud (talk) 18:14, 28 September 2023 (UTC)
thread_title:  State of the page: leakiness probably unavoidable