Talk:Object-oriented programming
| Computing: CompSci | |||||||||||||||||
| |||||||||||||||||
"Decoupling"
The term "decoupling" is vague, and has a buzzword feel to it. Attempts to objectively measure it have been problematic or depends on many unproven assumptions. I'd suggest not mentioning it. --66.120.226.84 (talk) 18:30, 24 October 2008 (UTC)
- I don't think the term is vague at all, though I think the article currently does a terrible job of explaining what it is (namely, elimination of inter-object dependencies by use of encapsulation/information hiding/interface rigor). Nevertheless, neither "decoupling" nor "instance" is among the "quarks" listed in Armstrong's original (2003) paper submitted for publication, which is available free online at [[1]] (retrieved as reference number ITRI-WP034-0303). The version published in 2006 is available from the ACM at [[2]], but you have to be a member (I'm not). Unless the published version added "instance" and "decoupling", they should be deleted from the article. -- Unconventional (talk) 19:10, 14 November 2008 (UTC)
"Design Patterns"
Should we be listing the 23 patterns here, given that there's a Dedicated Wikipedia article on the book? Gerardw (talk) 12:22, 19 December 2008 (UTC)
"Misleading sentence"
"In the 1980s, there were a few attempts to design processor architectures which included hardware support for objects in memory but these were not successful. Examples include the Intel iAPX 432 and the Linn Smart Rekursiv."
"Not successful" is misleading here, the fact that the iAPX 432 was slow or Rekursiv not successful commercially doesn't mean that they not were succeseful implemting OO in the MMU. —Preceding unsigned comment added by 200.127.136.93 (talk) 02:17, 6 January 2009 (UTC)
Section "criticism" needs expansion
Would very much like to see the section "criticism" expanded to at least a couple of paragraphs. I am not at all competent to this myself. -- 201.37.230.43 (talk) 14:09, 21 February 2009 (UTC)
- I agree with you that it needs expansion. Instead of destructive criticisms, rants or laconical criticisms that do not help the reader to assess the benefits and limitations of OO technology, what I would like in that section is published, referenced examples of specific, well-delimited problems where a "pure" OO solution would be inherently more complex, harder to understand or harder to evolve than a solution to the same specific problem using another technology (say, DSLs, functional programming or even cell-oriented programming like in Microsoft Excel).
- Now this would be a nice contribution to improve the article so that it provides a better overview of the characteristics, advantages and limitations of OOP. --Antonielly (talk) 16:56, 21 February 2009 (UTC)
The current criticism section reads in a petty and personal way. It doesn't read like an encyclopedia should at all. --M2tM (talk) —Preceding unsigned comment added by 207.47.201.6 (talk) 00:51, 4 August 2009 (UTC)
- It seems to me that anyone who dares to criticise OOP (or wonder what all the fuss is about), is seen as unknowledgable/reactionary/ petty or similar. If you actually care to look at the experience and stature of these critics you will see that this is not the case. As a programmer myself, with more than 40 years experience (and many successful products), I actually believe that conventional programming is far more efficient, faster and does not involve largely undefinable terminology and "get arounds"/"fudges". It is suspicious, to say the least, that nobody has yet provided a recognizable generic definition of OOP or provided proven benefits. I have spoken with several well respected programmers who, like me, have yet to accept any of the so-called "benefits" of OOP. Sadly it's another example of "The Emperor's New Clothes" that has simply got out of hand in a massive way.
"Static programming languages"?
The criticism section implies that OO is a feature of "static programming languages" as opposed to Lisp.
- I can't find the term "static programming language" in the literature. Is this phrase supposed to refer to "statically-typed programming languages" (e.g. C++), as opposed to "dynamically-typed programming languages" (e.g. Lisp)?
- If so, why is OOP exclusively associated with statically-typed languages, when there are so many OO or multiparadigm dynamically-typed languages (e.g. Objective C, Python, Ruby, etc.)?
I am not knowledgeable enough about Lisp (or OO design, for that matter) to rewrite this section. Could someone clarify, or at least add some references? --Otterfan (talk) 23:36, 16 March 2009 (UTC)
Wait, I get it--"static programming languages" isn't a commonly-used term, but it appears that "dynamic programming languages" is. Still, there seem to be a lot of object oriented dynamic programming languages. This still needs clarification, or at least some references. --68.239.60.5 (talk) 04:11, 19 March 2009 (UTC)
- I'm no expert on langauge definitions, but I understood the term 'static language' to be as above - ie not a dynamic language (such as lisp) (aside comment eg maybe compiling to a contiguous machine code without any list structure connecting 'bytecode' as might be found in a dynamic language)
- I definately didn't think it refered to static/dynamic typing.
- If that's the issue maybe a note type reference would be a good idea - clarifying what is meant by 'static programming language' ?
- Or was the issue whether or not the statement(s) is(are) true?83.100.250.79 (talk) 22:38, 26 June 2009 (UTC)
Object vs Instance
These are the exact same thing. That should be explicit. —Preceding unsigned comment added by 81.252.207.82 (talk) 13:43, 20 March 2009 (UTC)
- No. This is the same only in the language that support classes. P99am (talk) 11:57, 24 April 2009 (UTC)
Fundamental concepts
Fundamental concept of Object Oriented paradigm is object, not a class. Define objects as the implementation/exemplar/instance of a class is not correct. This is a purely technical definition in some languages (supporting classes). Object Oriented Programming is not equals Class Oriented Programming.
Section Fundamental concepts turns everything upside down.--P99am (talk) 11:57, 24 April 2009 (UTC)
