Stories
Slash Boxes
Comments

News for nerds, stuff that matters

The Object Oriented Hype

Posted by CmdrTaco on Tue Jan 09, 2001 12:20 PM
from the sure-why-not dept.
bedel231 sent us a fairly lengthy and detailed article discussing the hype surrounding Object Oriented Programming and tries to claim that a lot of things taken for granted are mythical. Personally, I've never been a huge fan of OOP, so I tend to agree on a lot of these points. Regardless of your stance on the issue, it's worth a read.
This discussion has been archived. No new comments can be posted.
The Object Oriented Hype | Log In/Create an Account | Top | 730 comments (Spill at 50!) | Index Only | Search Discussion
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
  • Re:New Myth: OO would have prevented Y2K by cmeans (Score:1) Tuesday January 09 2001, @01:45PM
  • I didn't say that by Tablizer (Score:1) Tuesday January 09 2001, @04:22PM
  • Re:common misconception by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @01:46PM
  • Re:common misconception by brsett (Score:1) Tuesday January 09 2001, @11:45AM
  • Re:Myth... by Wraithlyn (Score:2) Tuesday January 09 2001, @01:46PM
  • Re:The King of Argument By Authority (Addison) by pjrc (Score:2) Tuesday January 09 2001, @04:23PM
  • Re:People think in objects by Yunzil (Score:1) Tuesday January 09 2001, @11:45AM
  • Re:Tell us something we don't already know... by Woko (Score:1) Tuesday January 09 2001, @11:46AM
  • Pitfalls of Object-Oriented Development by bfwebster (Score:1) Tuesday January 09 2001, @11:49AM
  • But compiler support helps a lot. by Ungrounded Lightning (Score:2) Tuesday January 09 2001, @04:27PM
  • Flamebait by RedWizzard (Score:1) Tuesday January 09 2001, @04:28PM
  • Re:A longer viewpoint... by Lozzer (Score:1) Tuesday January 09 2001, @01:47PM
  • Re:New Myth: OO would have prevented Y2K by Sir Robin (Score:1) Tuesday January 09 2001, @01:50PM
  • Nope. This "troll" is different by Tablizer (Score:1) Tuesday January 09 2001, @01:53PM
  • Re:Poor criticism by NathanL (Score:1) Tuesday January 09 2001, @11:52AM
  • Re:there is something to be learned! by madmaxx (Score:1) Tuesday January 09 2001, @01:53PM
  • Re:My view by Alioth (Score:1) Tuesday January 09 2001, @11:53AM
  • Re:Bryce has been doing this forever. by wjodon (Score:1) Tuesday January 09 2001, @11:53AM
  • Now engaging write-only mode... by TheKodiak (Score:2) Tuesday January 09 2001, @11:53AM
  • Re:agreed--fighting anecdote with anecdote. by dimator (Score:1) Tuesday January 09 2001, @11:54AM
  • Re:New Myth: OO would have prevented Y2K by Tablizer (Score:1) Tuesday January 09 2001, @04:34PM
  • Thats because you're a troll, moron by FatHogByTheAss (Score:1) Tuesday January 09 2001, @04:38PM
  • Re:New Myth: OO would have prevented Y2K by Tablizer (Score:1) Tuesday January 09 2001, @04:38PM
  • Re:Huh? by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @01:55PM
  • These procedural guys by bucketman (Score:1) Tuesday January 09 2001, @04:40PM
  • OOP invented PolyMorphism?! by LionKimbro (Score:2) Tuesday January 09 2001, @01:56PM
  • Re:Myth... by angel'o'sphere (Score:1) Tuesday January 09 2001, @01:59PM
  • Re:"You won't need it" by HarpMan (Score:1) Tuesday January 09 2001, @01:59PM
  • The macho paradigm? by Tablizer (Score:1) Tuesday January 09 2001, @04:51PM
  • Re:common misconception by SpinyNorman (Score:1) Tuesday January 09 2001, @01:59PM
  • My .02 dollars by panda (Score:2) Tuesday January 09 2001, @11:58AM
  • Re:Wrong by Mr. Slippery (Score:1) Tuesday January 09 2001, @05:00PM
  • OOP == Capitalism, COBOL == Communism by JohnQPublic (Score:1) Tuesday January 09 2001, @01:59PM
  • Re:Issue over Code Reuse by Lozzer (Score:1) Tuesday January 09 2001, @02:01PM
  • Re:Good objects are a lot of work by Tablizer (Score:1) Tuesday January 09 2001, @05:01PM
  • Re:stop dwelling on the headlines only by dimator (Score:1) Tuesday January 09 2001, @11:59AM
  • Science 101 by Tablizer (Score:1) Tuesday January 09 2001, @11:59AM
  • Re:My view by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @02:05PM
  • Correct me if I'm wrong... by antiher0 (Score:1) Tuesday January 09 2001, @11:59AM
  • Re:reusability... by Anonymous Coward (Score:1) Tuesday January 09 2001, @02:07PM
  • Re:The real benefits by SpinyNorman (Score:1) Tuesday January 09 2001, @11:59AM
  • Re:My view by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @02:07PM
  • Re:Now engaging write-only mode... by TheKodiak (Score:2) Tuesday January 09 2001, @12:02PM
  • Re:Reuse is overrated, structuring is underrated by brsett (Score:1) Tuesday January 09 2001, @12:05PM
  • by jon_c (100593) on Tuesday January 09 2001, @07:25AM (#520232) Homepage
    one common misconception is that one can not do object oriented design in C, or any language that isn't approved by the OOP zealots. this is just not true, while it may be more natural to write a good object oriented design in C++, Java or Smalltalk. it can also be done in C or BASIC.

    one can create objects in C by creating a structure, then passing that structure to every method that performs on that structure. a common use could be something like this.

    struct window_t win;
    window_init(&win)
    window_draw(&win);
    window_destroy(&win);

    it is also possible to perform polymorphism and inheritance with function pointers and other techniques.

    -Jon
  • Best OOP language I've encountered by Steeltoe (Score:1) Tuesday January 09 2001, @11:51PM
  • WOW by Bob Costas (Score:1) Tuesday January 09 2001, @05:02PM
  • Re:reusability... by marcovje (Score:1) Wednesday January 10 2001, @12:24AM
  • Re:Wrong by scrytch (Score:2) Tuesday January 09 2001, @05:04PM
  • Reply to your claims by Tablizer (Score:1) Tuesday January 09 2001, @02:08PM
  • subroutines and internal re-use by Tablizer (Score:1) Tuesday January 09 2001, @05:17PM
  • Hammers, nails, screws... by David Gould (Score:2) Tuesday January 09 2001, @02:15PM
  • Re:OOP sucks! by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @02:15PM
  • Re:That is a shop-specific convention, not OOP by maroberts (Score:1) Wednesday January 10 2001, @02:10AM
  • what a cry-baby... by xlurker (Score:1) Tuesday January 09 2001, @12:07PM
  • Re:The biggest problem with OOP by Linux2Mars (Score:1) Tuesday January 09 2001, @02:20PM
  • inheritance is the real evil by rpeppe (Score:1) Tuesday January 09 2001, @12:08PM
  • Re:GUI's vs GUIs by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @05:25PM
  • Re:Tell us something we don't already know... by Omnifarious (Score:2) Wednesday January 10 2001, @02:26AM
  • dealing with change by Tablizer (Score:1) Tuesday January 09 2001, @05:29PM
  • thats not how I remember it by Tablizer (Score:1) Tuesday January 09 2001, @02:21PM
  • Re:What are you talking about? by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @05:29PM
  • The author's actually pretty much on track. by JohnQPublic (Score:1) Tuesday January 09 2001, @02:25PM
  • Re:common misconception by SpinyNorman (Score:1) Tuesday January 09 2001, @12:12PM
  • re: Burden of Proof by Tablizer (Score:1) Tuesday January 09 2001, @12:16PM
  • Re:New Myth: OO would have prevented Y2K by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @02:26PM
  • Re:Reply to your claims by ftobin (Score:1) Tuesday January 09 2001, @02:29PM
  • Re:Wrong by Mr. Slippery (Score:2) Tuesday January 09 2001, @12:17PM
  • Re:"Object-oriented" languages (oops) by Richy_T (Score:2) Tuesday January 09 2001, @12:19PM
  • Re:"Object-oriented" languages by crgrace (Score:2) Tuesday January 09 2001, @12:22PM
  • Re:agreed--fighting anecdote with anecdote. by Tilde~ (Score:1) Tuesday January 09 2001, @12:24PM
  • Perl speed comparison by nwetters (Score:1) Wednesday January 10 2001, @02:52AM
  • Re:OOP is Worth It by nwetters (Score:1) Wednesday January 10 2001, @03:22AM
  • Re:"You won't need it" by Julian Morrison (Score:1) Wednesday January 10 2001, @03:23AM
  • Re:common misconception by David Gould (Score:2) Tuesday January 09 2001, @05:38PM
  • Strawman from by Martin Spamer (Score:1) Wednesday January 10 2001, @04:03AM
  • Re:New Myth: OO would have prevented Y2K by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @05:38PM
  • Axually..... by addison (Score:1) Tuesday January 09 2001, @05:41PM
  • Perl is easy so lots of non-pro's use it by Morgaine (Score:2) Wednesday January 10 2001, @04:32AM
  • Re:Type checking != OO by bucketman (Score:1) Wednesday January 10 2001, @04:35AM
  • Wrong by Tablizer (Score:1) Tuesday January 09 2001, @05:47PM
  • Re:Another reason ... by Devil's Avocado (Score:1) Tuesday January 09 2001, @02:34PM
  • dood asm, man by chompz (Score:1) Tuesday January 09 2001, @05:47PM
  • I am NOT against abstraction by Tablizer (Score:1) Tuesday January 09 2001, @02:34PM
  • Re:The biggest problem with OOP by enneff (Score:1) Tuesday January 09 2001, @02:35PM
  • Re:"You won't need it" by HarpMan (Score:1) Wednesday January 10 2001, @05:14AM
  • correction by Tablizer (Score:1) Tuesday January 09 2001, @05:49PM
  • This stuff is outdated! by _bernie (Score:1) Wednesday January 10 2001, @05:20AM
  • Re:The macho paradigm? by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @05:57PM
  • Re:Article Only Proves Low Education Level by ftobin (Score:2) Tuesday January 09 2001, @02:36PM
  • it was a typo by Tablizer (Score:1) Tuesday January 09 2001, @02:39PM
  • Nah. by addison (Score:1) Tuesday January 09 2001, @05:59PM
  • Free of the Tree, socket and rocket in your pocket by Tablizer (Score:1) Tuesday January 09 2001, @06:01PM
  • Re:GIGO by Maurice (Score:1) Tuesday January 09 2001, @02:42PM
  • what is wrong with handles? by Tablizer (Score:1) Tuesday January 09 2001, @02:45PM
  • Only about 11 yrs in mainstream by Tablizer (Score:1) Tuesday January 09 2001, @02:51PM
  • Re:common misconception by matthia (Score:1) Tuesday January 09 2001, @02:52PM
  • Re:Can someone verify this? by JWhitlock (Score:1) Wednesday January 10 2001, @05:41AM
  • The Defense is Self Evident by **SkipKent** (Score:2) Wednesday January 10 2001, @05:48AM
  • Re:subroutines and internal re-use by mangino (Score:1) Wednesday January 10 2001, @05:48AM
  • Re:Article Only Proves Low Education Level by Shotgun (Score:2) Wednesday January 10 2001, @05:57AM
  • Re:New Myth: OO would have prevented Y2K by RoninM (Score:1) Tuesday January 09 2001, @06:02PM
  • C++ is Middle Ground by Nepre (Score:1) Wednesday January 10 2001, @06:10AM
  • If popularity == Good, then hug NT by Tablizer (Score:1) Wednesday January 10 2001, @06:14AM
  • Re:Wrong by Mr. Slippery (Score:1) Tuesday January 09 2001, @06:08PM
  • Re:WOW by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @06:08PM
  • Re:GUI's vs GUIs by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @02:53PM
  • Re:OOP invented PolyMorphism?! by BeanThere (Score:2) Wednesday January 10 2001, @06:21AM
  • self-fulfilling prophecy by Tablizer (Score:1) Tuesday January 09 2001, @02:56PM
  • This Goes Back to one thing by jjr (Score:2) Tuesday January 09 2001, @06:10PM
  • Re:Some zealottery is good by BeanThere (Score:2) Wednesday January 10 2001, @06:23AM
  • Re:OOP can be good by Srin Tuar (Score:1) Wednesday January 10 2001, @06:25AM
  • granularity of differences by Tablizer (Score:1) Tuesday January 09 2001, @06:10PM
  • Re:common misconception by OwnedByTwoCats (Score:1) Tuesday January 09 2001, @02:58PM
  • 4- interesting?!?!?!?!? by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @02:59PM
  • I'm still waiting...... by addison (Score:1) Tuesday January 09 2001, @06:11PM
  • Re:insults != wrong by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @03:04PM
  • Re:GUI's vs GUIs by FunkyChild (Score:2) Tuesday January 09 2001, @06:13PM
  • The article wasn't worth reading anyways by ChessProzac (Score:1) Tuesday January 09 2001, @03:14PM
  • Re:common misconception by SpinyNorman (Score:1) Tuesday January 09 2001, @06:58PM
  • Re:Vote Self Authority != Proof by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @03:14PM
  • ALL LINUX USERS ARE IDIOTS TOO by ChessProzac (Score:1) Tuesday January 09 2001, @03:18PM
  • If Anyone Wants to Continue OOP Debate by Tablizer (Score:1) Wednesday January 10 2001, @07:46PM
  • Re:does size matter? by timcuth (Score:1) Thursday January 11 2001, @05:24AM
  • Re:Goodwin Oriented Programming by JWhitlock (Score:1) Thursday January 11 2001, @05:55AM
  • Re:Wrong by Malc (Score:1) Wednesday January 10 2001, @06:37AM
  • Bertrand Meyer is a "strawman"? by Tablizer (Score:1) Wednesday January 10 2001, @06:41AM
  • Further Brycism by BePatient (Score:1) Thursday January 11 2001, @06:11AM
  • too many things to pass around? by Tablizer (Score:1) Wednesday January 10 2001, @06:48AM
  • attack ideas, not people by Tablizer (Score:1) Thursday January 11 2001, @08:07AM
  • Orbix? Yuck! by Malc (Score:2) Wednesday January 10 2001, @06:50AM
  • Re:Wrong by plastik55 (Score:2) Tuesday January 09 2001, @07:23PM
  • object / functional programing by node3667 (Score:1) Wednesday January 10 2001, @07:00AM
  • Re:Article Only Proves Low Education Level by sohp (Score:1) Tuesday January 09 2001, @07:29PM
  • Re:What are you talking about? by Malcontent (Score:1) Tuesday January 09 2001, @07:31PM
  • I said *good* objective proof by Tablizer (Score:1) Thursday January 11 2001, @08:18AM
  • Dark Ages of Computer Science by Tablizer (Score:1) Thursday January 11 2001, @08:28AM
  • Re:thats not how I remember it by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @03:21PM
  • Re:change mind to fit paradigm, or visa verse? by Tablizer (Score:1) Wednesday January 10 2001, @07:07AM
  • re: IEEE and ACM studies by Tablizer (Score:1) Thursday January 11 2001, @08:36AM
  • Re:OOP...in BASIC? by Chester K (Score:2) Tuesday January 09 2001, @07:41PM
  • Re:more empty claims by smack.addict (Score:2) Wednesday January 10 2001, @07:07AM
  • Does Design Patterns better also by Tablizer (Score:1) Tuesday January 09 2001, @08:01PM
  • Re:Find what you look for by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @03:25PM
  • wonderful things may happen when mindfit by Tablizer (Score:1) Wednesday January 10 2001, @07:22AM
  • Read more carefully, please by MegaFur (Score:1) Tuesday January 09 2001, @03:25PM
  • Re:Reply to your claims by SpinyNorman (Score:2) Tuesday January 09 2001, @08:16PM
  • Re:word games (Score:3)

    by AME (49105) on Wednesday January 10 2001, @07:25AM (#520335) Homepage
    Many OO debaters often stretch the meanings of the the big three (poly, inher, encap) to mean whatever they want them to mean. ... "Encapsulation" is such a vague, watered-down word that it can mean just about anything you want it to.

    Just because many people don't understand the definition does not mean that the definition is vague or watered-down.

    Anything that is "not at the right spot when you need it" can be blamed on "lack of encapsulation".

    I would more likely blame lack of coherent design. But lack of encapsulation can result from the programmer hacking his way around the encapsulation to solve the problem.

    Note that many of the goals of OO can be achieved in ways that are not necessarily OOP.

    Agreed.

    --

  • by scrytch (9198) <chuck@myrealbox.com> on Tuesday January 09 2001, @03:26PM (#520336)
    It's also true that you can do good object oriened design with a Turing Machine, implemented in the Game of Life, composed of a million midgets wearing reversible parkas, which is directed from above by an Elvis impersonator in a hot air ballon shaped like a guitar.

    You signed an NDA on that design. Expect a call from our lawyers.

    --
  • Type checking != OO by Tablizer (Score:1) Tuesday January 09 2001, @08:21PM
  • Freud Oriented Programming by Tablizer (Score:1) Tuesday January 09 2001, @03:27PM
  • more empty claims by Tablizer (Score:1) Tuesday January 09 2001, @08:28PM
  • Re:Not a pain? What about massive inbred inheritan by voncheesebiscuit (Score:1) Tuesday January 09 2001, @03:27PM
  • Damn long article by kazzuya (Score:1) Tuesday January 09 2001, @08:29PM
  • Black Art? by Tablizer (Score:1) Tuesday January 09 2001, @03:35PM
  • Re:Wrong by scrytch (Score:2) Tuesday January 09 2001, @03:36PM
  • Re:stop dwelling on the headlines only by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @03:38PM
  • Re:My view by scrytch (Score:2) Tuesday January 09 2001, @03:41PM
  • Give me objective proof and I will go away by Tablizer (Score:1) Thursday January 11 2001, @08:49AM
  • Funny vision: Bertrand and S&M by Tablizer (Score:1) Thursday January 11 2001, @09:02AM
  • Devil is in the Details by Tablizer (Score:1) Thursday January 11 2001, @09:14AM
  • not logical by Tablizer (Score:1) Thursday January 11 2001, @09:25AM
  • re: OO Xbase by Tablizer (Score:1) Thursday January 11 2001, @09:40AM
  • Interface focus doesn't equal reuse! by Aapje (Score:1) Thursday January 11 2001, @10:07AM
  • Re:common misconception by kjots (Score:1) Wednesday January 10 2001, @08:23AM
  • Amen Brotha! by Tablizer (Score:1) Tuesday January 09 2001, @08:39PM
  • Re:Tell us something we don't already know... by pb (Score:1) Wednesday January 10 2001, @08:27AM
  • Re:Design in the Open Source world by Tablizer (Score:1) Tuesday January 09 2001, @08:49PM
  • Switch statements by p3d0 (Score:1) Thursday January 11 2001, @11:28AM
  • Re:dealing with change by angel'o'sphere (Score:1) Thursday January 11 2001, @03:24PM
  • (correction) by Tablizer (Score:1) Tuesday January 09 2001, @08:50PM
  • Re:Vague Feeling Oriented Programming by angel'o'sphere (Score:1) Thursday January 11 2001, @03:30PM
  • Re:Free of the Tree, socket and rocket in your poc by slamb (Score:1) Wednesday January 10 2001, @09:05AM
  • OO is all about components??? by Tablizer (Score:1) Wednesday January 10 2001, @09:32AM
  • Re:why give reply a zero? I punched holes in a 4 by scotteparte (Score:1) Tuesday January 09 2001, @08:57PM
  • Amen! by Tablizer (Score:1) Thursday January 11 2001, @03:36PM
  • bad code == secret language == job security by Tablizer (Score:1) Wednesday January 10 2001, @09:44AM
  • Re: GOTO in FORTRAN (was Re:common misconception) by Bush Pig (Score:1) Tuesday January 09 2001, @08:58PM
  • You are wrong. by Tablizer (Score:1) Tuesday January 09 2001, @09:01PM
  • OO only shines on LARGE projects? Make up mind pls by Tablizer (Score:1) Wednesday January 10 2001, @09:53AM
  • a bit hypocritical by Tablizer (Score:1) Wednesday January 10 2001, @10:06AM
  • Vague Feeling Oriented Programming by Tablizer (Score:1) Tuesday January 09 2001, @09:14PM
  • What's this article about? by evocate (Score:1) Tuesday January 09 2001, @09:18PM
  • Re: maintainability by Tablizer (Score:1) Thursday January 11 2001, @03:52PM
  • Re:Objects don't interact with everything by Tablizer (Score:1) Thursday January 11 2001, @03:58PM
  • re: procedural components by Tablizer (Score:1) Thursday January 11 2001, @04:06PM
  • seen the same thing in Fortran66 by Tablizer (Score:1) Wednesday January 10 2001, @10:18AM
  • I am NOT for "freeflow" programming by Tablizer (Score:1) Thursday January 11 2001, @04:11PM
  • Re:bad code == secret language == job security by panda (Score:2) Wednesday January 10 2001, @11:46AM
  • name for me, not public by Tablizer (Score:1) Thursday January 11 2001, @04:15PM
  • Maybe you should stop throwing... by malraux (Score:1) Wednesday January 10 2001, @11:51AM
  • Y2K and ER by Tablizer (Score:1) Thursday January 11 2001, @05:05PM
  • Re:OO is all about components??? by smack.addict (Score:2) Wednesday January 10 2001, @12:10PM
  • Re:Vague Feeling Oriented Programming by Tablizer (Score:1) Thursday January 11 2001, @05:18PM
  • You snagged tongue while hopping the fence by Tablizer (Score:1) Wednesday January 10 2001, @12:32PM
  • Re:dealing with change by Tablizer (Score:1) Thursday January 11 2001, @05:28PM
  • Re:common misconception by evocate (Score:1) Tuesday January 09 2001, @09:19PM
  • You and me baby aint nOOthing but mammals by Tablizer (Score:1) Wednesday January 10 2001, @12:35PM
  • Measuring: easy or hopeless? by Tablizer (Score:1) Thursday January 11 2001, @05:47PM
  • Assembly language is procedural by yerricde (Score:1) Tuesday January 09 2001, @09:19PM
  • "Sucks" is not a very refined metric by Tablizer (Score:1) Wednesday January 10 2001, @12:41PM
  • Cult Oriented Programming == Success? Hmmm by Tablizer (Score:1) Thursday January 11 2001, @05:57PM
  • Excluded middle by yerricde (Score:1) Tuesday January 09 2001, @09:24PM
  • change mind to fit paradigm, or visa verse? by Tablizer (Score:1) Tuesday January 09 2001, @09:25PM
  • blowing chunks - the Ludite thing again? by Tablizer (Score:1) Wednesday January 10 2001, @12:44PM
  • Zero Sum by Tablizer (Score:1) Wednesday January 10 2001, @12:47PM
  • God's Hierarchies by Tablizer (Score:1) Wednesday January 10 2001, @12:50PM
  • Re:The real benefits by Eric E. Coe (Score:1) Tuesday January 09 2001, @09:48PM
  • Only if we write a Tax interface for Siamese twins by Tablizer (Score:1) Tuesday January 09 2001, @09:57PM
  • GUIs are OOP? by JacobO (Score:1) Tuesday January 09 2001, @10:02PM
  • Re:Devil is in the Details by SpinyNorman (Score:1) Thursday January 11 2001, @06:55PM
  • Re:a bit hypocritical by TheKodiak (Score:1) Friday January 12 2001, @04:51AM
  • Re:OO only shines on LARGE projects? Make up mind by TheKodiak (Score:1) Friday January 12 2001, @04:55AM
  • The Kangaroo Story by Tablizer (Score:1) Wednesday January 10 2001, @12:55PM
  • On Bureaucracies by Tablizer (Score:1) Wednesday January 10 2001, @12:59PM
  • Re:OOP is Soylent Green! by scotteparte (Score:1) Friday January 12 2001, @05:25AM
  • PHB's also welcome by Tablizer (Score:1) Wednesday January 10 2001, @01:02PM
  • Re:I said *good* objective proof by BePatient (Score:1) Friday January 12 2001, @05:30AM
  • It's 2001, not 1001 by Tablizer (Score:1) Friday January 12 2001, @07:40AM
  • Re:common misconception by David Gould (Score:2) Wednesday January 10 2001, @01:07PM
  • re: generic collection protocols by Tablizer (Score:1) Tuesday January 09 2001, @10:15PM
  • Lack of planning can fubar anything by Tablizer (Score:1) Wednesday January 10 2001, @01:25PM
  • They said memory mgmt benif thinking was a myth by Tablizer (Score:1) Friday January 12 2001, @08:04AM
  • Orthogonality Problems by Tablizer (Score:1) Wednesday January 10 2001, @02:00PM
  • GIVE CHOICE A CHANCE! by Tablizer (Score:1) Tuesday January 09 2001, @10:25PM
  • Re:OO only shines on LARGE projects? Make up mind by Tablizer (Score:1) Friday January 12 2001, @08:11AM
  • Wanted: Multilingual Programmer by Tablizer (Score:1) Wednesday January 10 2001, @02:19PM
  • Re:a bit hypocritical by Tablizer (Score:1) Friday January 12 2001, @08:18AM
  • Re:No Magic Bullet. by swillden (Score:1) Tuesday January 09 2001, @10:41PM
  • Both suffer the same problem by Tablizer (Score:1) Wednesday January 10 2001, @02:31PM
  • from alt.humor.best-of-usenet by tnt (Score:1) Tuesday January 09 2001, @11:04PM
  • OO has NO monopoly on PLANNING! by Tablizer (Score:1) Wednesday January 10 2001, @02:39PM
  • One great win of OOP: exceptions. by renoX (Score:1) Tuesday January 09 2001, @11:15PM
  • Re:Maybe you should stop throwing... by Tablizer (Score:1) Wednesday January 10 2001, @02:44PM
  • Re:The macho paradigm? by jilles (Score:2) Tuesday January 09 2001, @11:31PM
  • Re:change mind to fit paradigm, or visa verse? by akc (Score:1) Tuesday January 09 2001, @11:31PM
  • Re:Devil is in the Details by Tablizer (Score:1) Friday January 12 2001, @08:39AM
  • Re:They said memory mgmt benif thinking was a myth by scotteparte (Score:1) Friday January 12 2001, @08:52AM
  • Re:OO only shines on LARGE projects? Make up mind by TheKodiak (Score:1) Friday January 12 2001, @08:55AM
  • Sorting is not a realistic re-use example by Tablizer (Score:1) Wednesday January 10 2001, @03:00PM
  • re: Tax example details by Tablizer (Score:1) Friday January 12 2001, @09:45AM
  • Red Herring, missing references not pivotal by Tablizer (Score:1) Wednesday January 10 2001, @03:04PM
  • Re: Tax example details by scotteparte (Score:1) Friday January 12 2001, @10:37AM
  • specifics, people, specifics! by Tablizer (Score:1) Wednesday January 10 2001, @03:08PM
  • Re:Free of the Tree, socket and rocket in your poc by Tablizer (Score:1) Friday January 12 2001, @10:41AM
  • one last Soviet analogy, if you don't mind by Tablizer (Score:1) Wednesday January 10 2001, @03:19PM
  • Re:dealing with change by angel'o'sphere (Score:1) Friday January 12 2001, @10:42AM
  • Bad OO versus Bad Procedural by Tablizer (Score:1) Wednesday January 10 2001, @03:35PM
  • That is just my observation by Tablizer (Score:1) Friday January 12 2001, @04:03PM
  • Ah, the good ol' days by Tablizer (Score:1) Wednesday January 10 2001, @03:43PM
  • re: seperation of biz rules from display logic by Tablizer (Score:1) Friday January 12 2001, @04:12PM
  • LabView is OOP? by Tablizer (Score:1) Wednesday January 10 2001, @03:52PM
  • bridge between arrays and RDBMS by Tablizer (Score:1) Friday January 12 2001, @04:27PM
  • Goodwin Oriented Programming by Tablizer (Score:1) Wednesday January 10 2001, @03:58PM
  • I've done lots of maintenance by Tablizer (Score:1) Wednesday January 10 2001, @04:06PM
  • Why would God need a compiler? by Tablizer (Score:1) Wednesday January 10 2001, @04:15PM
  • JDBC == FORTRAN in JAVA by Tablizer (Score:1) Friday January 12 2001, @04:39PM
  • The ultimate Shapes website by Tablizer (Score:1) Friday January 12 2001, @04:46PM
  • The Java risk by Tablizer (Score:1) Friday January 12 2001, @04:57PM
  • another proofless Zen-head by Tablizer (Score:1) Wednesday January 10 2001, @04:25PM
  • print() versus system.print() by Tablizer (Score:1) Friday January 12 2001, @05:04PM
  • Re:Orthogonality Problems by smack.addict (Score:2) Wednesday January 10 2001, @04:29PM
  • swappable implimentation issue again by Tablizer (Score:1) Friday January 12 2001, @05:20PM
  • Re:Both right and wrong... by Tablizer (Score:1) Wednesday January 10 2001, @04:29PM
  • okay, why a '4' people? Only quoting scriptOOres by Tablizer (Score:1) Friday January 12 2001, @05:33PM
  • Response to SQL example by Tablizer (Score:1) Wednesday January 10 2001, @04:40PM
  • auto-planning? please explain by Tablizer (Score:1) Friday January 12 2001, @06:28PM
  • as a brain stimulator, maybe a good idea by Tablizer (Score:1) Wednesday January 10 2001, @04:51PM
  • Best practices can be made for any paradigm by Tablizer (Score:1) Friday January 12 2001, @06:33PM
  • Hey, it rhymed by Tablizer (Score:1) Wednesday January 10 2001, @04:55PM
  • re: OO versus SQL by Tablizer (Score:1) Friday January 12 2001, @06:45PM
  • Wallet Oriented Programming - Yeaaah Baby! by Tablizer (Score:1) Wednesday January 10 2001, @05:04PM
  • That is a new claim by Tablizer (Score:1) Friday January 12 2001, @07:38PM
  • Comparing C to Java? by Tablizer (Score:1) Wednesday January 10 2001, @05:08PM
  • That is what OO was actually invented to do by Tablizer (Score:1) Wednesday January 10 2001, @05:19PM
  • Re:Eliminating case/switch statements? by Tablizer (Score:1) Wednesday January 10 2001, @05:30PM
  • Well, it's a start by Tablizer (Score:1) Friday January 12 2001, @07:46PM
  • questions about your anecdote by Tablizer (Score:1) Friday January 12 2001, @08:02PM
  • tendor loving care by Tablizer (Score:1) Friday January 12 2001, @08:11PM
  • Re:OOP *is* really the next level by Adam Wiggins (Score:2) Sunday January 14 2001, @03:20PM
  • Re:God's Hierarchies by Arandir (Score:2) Wednesday January 10 2001, @05:38PM
  • does size matter? by Tablizer (Score:1) Wednesday January 10 2001, @05:42PM
  • Re:swappable implimentation issue again by KagakuNinja (Score:1) Sunday January 14 2001, @08:06PM
  • Database Misconceptions by Tablizer (Score:1) Wednesday January 10 2001, @05:59PM
  • Re:implementation versus protocol by Tilde~ (Score:1) Monday January 15 2001, @11:29AM
  • Us OO bashers come in all shapes and sizes by Tablizer (Score:1) Wednesday January 10 2001, @06:10PM
  • Re:implementation versus protocol by Tablizer (Score:1) Monday January 15 2001, @04:03PM
  • We knew that was coming - re: MS Word by Tablizer (Score:1) Wednesday January 10 2001, @06:18PM
  • Re:swappable implimentation issue again by Tablizer (Score:1) Monday January 15 2001, @04:06PM
  • Re:OOP *is* really the next level by Tablizer (Score:1) Monday January 15 2001, @04:14PM
  • Dude, think you need a vacation. Long hrs catching by Tablizer (Score:1) Wednesday January 10 2001, @06:34PM
  • OOP is Soylent Green! by Tablizer (Score:1) Wednesday January 10 2001, @06:40PM
  • Re:Interface focus doesn't equal reuse! by brsett (Score:1) Tuesday January 16 2001, @09:16AM
  • re: "encapsulation" by Tablizer (Score:1) Wednesday January 10 2001, @07:25PM
  • wrong by Tablizer (Score:1) Wednesday January 10 2001, @07:36PM
  • Irrelevant, you STILL have no proof by Tablizer (Score:1) Wednesday January 10 2001, @07:40PM
  • PKD by matt_king (Score:1) Tuesday January 09 2001, @07:50AM
  • Re:Another reason ... by FunOne (Score:2) Tuesday January 09 2001, @07:50AM
  • Evolving interfaces by Chalst (Score:2) Tuesday January 09 2001, @07:51AM
  • Re:Interface focus doesn't equal reuse! by Tablizer (Score:1) Tuesday January 16 2001, @03:16PM
  • Re:Is taco sad...? by phillipps (Score:1) Tuesday January 09 2001, @07:52AM
  • Re:swappable implimentation issue again by KagakuNinja (Score:1) Tuesday January 16 2001, @03:45PM
  • Find what you look for by Mall0 (Score:1) Tuesday January 09 2001, @07:52AM
  • Re:swappable implimentation issue again by Tablizer (Score:1) Tuesday January 16 2001, @06:45PM
  • Re: seperation of biz rules from display logic by twitter (Score:1) Wednesday January 17 2001, @08:20AM
  • Re: seperation of biz rules from display logic by Tablizer (Score:1) Wednesday January 17 2001, @01:58PM
  • Re:People think in objects by sjames (Score:2) Wednesday January 17 2001, @03:47PM
  • Re:People think in objects by Tablizer (Score:1) Thursday January 18 2001, @07:59AM
  • Re:swappable implimentation issue again by KagakuNinja (Score:1) Monday January 22 2001, @01:04PM
  • Re:swappable implimentation issue again by Tablizer (Score:1) Monday January 22 2001, @04:18PM
  • The real benefits (Score:4)

    by SpinyNorman (33776) on Tuesday January 09 2001, @07:52AM (#520498)
    The article is vapid since it addresses a collection of OOP myths that don't cover the real benefits, and secondly comletely ignores the practical reality that for most people the OOP/procedural choice is C/C++ choice, and that C++ has many features (such as constructors/deconstructors) that while not necessary for OOP, are huge benefits.


    Myth: OOP is a proven general-purpose technique
    Myth: OOP models the real world better
    Myth: OOP makes programming more visual
    Myth: OOP makes programming easier and faster
    Myth: OOP eliminates the complexity of "case" or "switch" statements
    Myth: Inheritance increases reuse
    Myth: Most things fit nicely into hierarchical taxonomies
    Myth: Self-handling nouns are more important than self-handling verbs
    Myth: Only OOP has automatic garbage collection
    Myth: Components can only be built with OOP
    Myth: Only OO databases can store large, multimedia data
    Myth: OODBMS are overall faster than RDBMS
    Myth: C is the best procedural can get
    Myth: Implementation changes significantly more often than interfaces
    Myth: Procedural/Relational ties field types and sizes to the code more
    Myth: Procedural/Relational programs cannot "factor" as well


    Classic OOP features such as inheritence may generally be over-hyped, but specific cases such as polymorphism are very useful (even if there are ways of doing the same thing in languages such as C that were not designed for OOP).

    Some of the major benefit of OOP, and specifically C++'s objects, are:

    o It is a clean module packaging mechanism that encourages cleaner interfaces between modules

    o It encourages opaque data interfaces (method access vs public access) which results in less bugs

    o It makes use of self-initialization/cleanup (constructors/deconstructirs) that avoid a whole slew of programmer errors.

    o The self-containedness of objects does make code reuse simpler and less bug prone.

    etc, etc.

    The guy who wrote the article (and the esteemed Mr. Taco) appear not to have much hands on experience writing OO code.
  • Are they really myths? by RobinH (Score:1) Tuesday January 09 2001, @07:52AM
  • Re:OOP sucks! by sv0f (Score:1) Tuesday January 09 2001, @07:52AM
  • OO (probably) is the future. by gimpimp (Score:1) Tuesday January 09 2001, @07:53AM
  • OOP can be good by Srin Tuar (Score:1) Tuesday January 09 2001, @07:53AM
  • OOPs ;) by chickdigger (Score:1) Tuesday January 09 2001, @07:54AM
  • Why bother... by Gruneun (Score:1) Tuesday January 09 2001, @07:55AM
  • Re:reusability... by slim (Score:2) Tuesday January 09 2001, @07:55AM
  • Table-Oriented + OOP by theonetruekeebler (Score:2) Tuesday January 09 2001, @07:55AM
  • This is not just OOP versus Procedural by Tom7 (Score:2) Tuesday January 09 2001, @07:55AM
  • there is something to be learned! by segmond (Score:2) Tuesday January 09 2001, @07:56AM
  • OOP isn't difficult, is it? by KjetilK (Score:1) Tuesday January 09 2001, @07:56AM
  • Re:common misconception by sumengen (Score:1) Tuesday January 09 2001, @07:56AM
  • It's a good analysis by scott1853 (Score:2) Tuesday January 09 2001, @07:56AM
  • Re:common misconception by slim (Score:2) Tuesday January 09 2001, @08:11AM
  • Myth... (Score:4)

    by DaveWood (101146) on Tuesday January 09 2001, @08:13AM (#520513) Homepage
    Myth: Implementation changes significantly more often than interfaces

    This is the most stingingly correct point, in my opinion. In fact, in my experience, they change equally often at best. And in cases where code is actually meant to be reused - something which, by the way, some of my smartest friends have told me, after no small amount of experience over the years, never actually happens - its the interface that often proves more likely to need modification...

  • How about OO hardware controller programming? by AFCArchvile (Score:1) Tuesday January 09 2001, @07:56AM
  • Re:Poor criticism by rw2 (Score:2) Tuesday January 09 2001, @08:13AM
  • core reuse and objects by josepha48 (Score:2) Tuesday January 09 2001, @08:13AM
  • Re:Another reason ... by taniwha (Score:2) Tuesday January 09 2001, @07:56AM
  • Re:Ask Slashdot: What do you masturbate into? by cyberdonny (Score:1) Tuesday January 09 2001, @07:56AM
  • by Alioth (221270) <dyls@alioth.net> on Tuesday January 09 2001, @08:14AM (#520519) Homepage Journal
    OOP (IMHO -- I'm crazy for the acronyms today), is just a fad. Like structured programming was before it.. Unfortunately a lot of these companies today fall into "trendy" programming methodologies.

    Structured programming a fad? OOP a fad? A rather long-lived fad then! Software developers have been using structured programming techniques and OO design for years, and will continue to do so.

    Personally, I believe you should program using the style you're most comfortable and familiar with. If you're trying to fit a mold it will slow you down.

    That's fine if you're working on a small project with maybe one developer. But if you had 30+ developers using their own techniques and styles on a large project (like the >1MLOC project I've been working on for the last 5 years) you'll end up with an unmaintainable mess. If everyone conforms to a standard methodology and style then at least you can maintain each other's code.

    This is one of the differences between software ENGINEERING and code that's been congealed instead of designed. Software engineering should result in a robust and maintainable system. Letting every programmer go off and do their own thing as you advocate leads to the truth in the phrase "If builders built buildings the way programmers write programs, the first woodpecker that came along would destroy civilization!" It sounds nice to let the programmer go off and just write in their own style using their own unique design techniques. But it's terribly naive and unrealistic in the real world.

  • Re:My view by Alioth (Score:2) Tuesday January 09 2001, @07:56AM
  • Re:My view by Malc (Score:2) Tuesday January 09 2001, @07:57AM
  • Re:common misconception by aardvarkjoe (Score:2) Tuesday January 09 2001, @07:57AM
  • Re:GUI's vs GUIs by emarkp (Score:1) Tuesday January 09 2001, @07:57AM
  • OOA article by bmongar (Score:2) Tuesday January 09 2001, @07:57AM
  • Re:The real benefits by SpinyNorman (Score:1) Tuesday January 09 2001, @08:15AM
  • A longer viewpoint... by whitroth (Score:2) Tuesday January 09 2001, @08:15AM
  • OOP isn't magic, but it's still great by ZanshinWedge (Score:2) Tuesday January 09 2001, @08:16AM
  • by scotteparte (240046) on Tuesday January 09 2001, @08:16AM (#520528)
    It seems our skeptical OOP critic is pulling graphs from nowhere and making logical flaws left and right. Refuting his article is quite easy, but there is no doubt in my mind that he would not accept the refutation. His failure is that he refuses to accept the absolute need for abstraction.

    I work in a software company, and our product takes up no less than 300 MB of code. Even in the most well-organized non-OOP code, our software would be impossible to debug or even build, because we would need to go through hundreds of lines of code. In addition, reusability would be hurt, since even though the functions would be there, minor changes in the arguments might make the entire function worthless.

    The author's example using People and Taxes is particularly striking. He suggests that an object oriented approach would create a person object and a tax object, set their attributes, and run the T.CalcTax method on Person P, while a procedural approach would just feed the relevant parameters to a function. I wonder if the author has ever actually filled out the 1040 Personal Income Tax Return Form [fedworld.gov]. The easy version has 70 entries, and while some are calculations, others are references to other, much bigger, forms! Keeping track of all these variables without some structure to hold them all is just stupid. Object orientation is necessary when code hits a level of complexity where several people, or several hundred, are simultaneously working on a project. The "black box" approach allows for greater flexibility and optimization, since a code change will be transparent to the objects around it.

    Another thing to consider, although I know CmdrTaco would berate me for even mentioning it, is the expansion of OOP provided by Java. The Interface in Java allows you to specify several functions, abstractly, that are required for a class to implement the Interface. The implementation of these functions is class-specific: for example, all clothes implement the Wearable interface, but you would not want underwear and shoes to have the same implementation of Wear(). However, in Java, you may specify a function to take a Wearable object, and not need to specify any further. This abstraction level is why OOP does, in fact, better model the real world.

    In conclusion, the rantings of a PASCAL junkie should not constitute a Slashdot article. Anyone who has coded in procedural and OO languages should see the extreme idiocy of the article within milliseconds. On the other hand, Perl powers Slashdot, so I guess this is the place for the procedural approach to have its message heard. In fact, Slashdot totally vindicates the article: its non-OOP approach is fast, effective, efficient, and easy-to-understand. Highly scalable and expandable as well. I especially like Slash.pm (aka THE BEAST) and the my_conf{shit} variable. I'm sure the non-OOP approach will really take off once everyone switches over from C++/Java to Perl.

  • The Author Just Doesn't Get it. by ArcadeNut (Score:1) Tuesday January 09 2001, @08:16AM
  • OO is dead as a silver bullet, alive otherwise. by Ars-Fartsica (Score:2) Tuesday January 09 2001, @07:59AM
  • Spaghetti code, anyone? by bgalbs (Score:2) Tuesday January 09 2001, @07:59AM
  • Re:I tend to agree with the author.. by slim (Score:2) Tuesday January 09 2001, @08:00AM
  • OOP in the real world...... by blogan (Score:1) Tuesday January 09 2001, @08:17AM
  • by squiggleslash (241428) on Tuesday January 09 2001, @08:00AM (#520534) Journal
    Absolutely. Let's look at OOP vs Communism:

    Classes: Communism - adamantly against. OOP: For, not merely for, but in favour of more classes than you could possibly imagine.

    Inheretance: Communism - opposed to. Inhereted property regarded as a prop for the aristocracy. OOP: Treats the concept with a reverence not known even amongst the Kennedies and Rockafellas of this world. Encourages, aids, and supports.

    Property: Communism - private property treated as an ambonination. OOP: Supports, allows objects to have whatever properties they want, and decide for themselves what is public and what is private.

    Objects: Communism - usually on the side opposing the objectivation of anyone, women, minorities, etc. Even cynically, prefers to deal with people as an anonymous mass rather than discrete objects. OOP: Pro-objectification. Treats everything and everyone as objects.

    I think it's pretty obvious that our OOP berater has no idea what sie's talking about. That said, most communists I know feel the need to talk in wordy jargon to demonstrate their superior intellects. With OOP programmers making sure they use everything from 'abstraction' to 'polymorphism' in every other sentence, I can see why the author might have been confused...
    --

  • Re:common misconception by fitzimac (Score:1) Tuesday January 09 2001, @08:00AM
  • Re:Tell us something we don't already know... by Anonymous Coward (Score:2) Tuesday January 09 2001, @08:17AM
  • by Greyfox (87712) on Tuesday January 09 2001, @08:17AM (#520537) Homepage
    The hype of OOP is that it's a magic bullet that does all your thinking for you and that all you have to do to write a completely new program is derive a new class and change a couple of lines. This is, in a word, crap.

    Thing is, if you can't do design in procedural code, OO's not going to buy you anything. Projets that buy into the aforementioned hype will fail. A company throwing OO at a projet without investing in training of it programmers will see the project fail. There are some simple OO mistakes that you see new programmers or procedural programmers who've never done OO before. Deriving everything from everything else. Using inheritance for everything. Habits that it's hard to break them of because nobody realizes that they're bad habits.

    Do a bit of research though, and you can find ways to be very productive using OO. If the designs are good, it does actually get easier. Buy "Design Patterns" and poke around in the various OO language netnews archives for little nuggets of wisdom and you will find your object designs improving immensely. Read about STL and use well designed toolkits like gtkmm and you'll start to realize benefits from using Object Oriented programming.

  • Wrong (Score:4)

    by cje (33931) on Tuesday January 09 2001, @08:00AM (#520538) Homepage
    I think you need to look at the definition of an "Object Oriented" language. You'll see that to be OO a language must support certain things like inheritance, polymorphism, run time binding (dynamic binding) and many other fun things that you can't do in procedural languages. C doesn't support any of those.

    Of course it "supports" them. It's just not as easy as it is in other languages. As has been pointed out before, creative use of function pointers in C can be used to implement polymorphism and "dynamic binding."

    Think about it a minute. What does a C++ compiler do? It translates the (high-level) C++ code to (low-level) assembly code. Are you somehow suggesting that there is no way that the generated assembly code can implement inheritance and polymorphism because no assembly language "supports any of those?" If so, how is it that C++ programs are able to compile, link, and execute? The original C++ compiler, cfront, generated C code as output from the input C++ code. Surely the output C code was no less "object-oriented" than the C++ code it was generated from.

    You can write object-oriented code in nearly any language. The difference is how much language-level support for OO is provided. Just because you can't write "virual void myFunc()" in C doesn't mean you can't generate the same behavior.
  • "Hype"?! by WinDoze (Score:1) Tuesday January 09 2001, @08:18AM
  • digidave's rules of OOP by digidave (Score:1) Tuesday January 09 2001, @08:00AM
  • Wow! A Troll on the frontpage! by PureFiction (Score:2) Tuesday January 09 2001, @08:19AM
  • Re:Article is missing a lot by Malc (Score:1) Tuesday January 09 2001, @08:00AM
  • Re:Author is a USENET troll/pest by Shadowlion (Score:1) Tuesday January 09 2001, @08:19AM
  • People and Taxes by maroberts (Score:2) Tuesday January 09 2001, @08:01AM
  • Code reuse is overrated. by amorsen (Score:1) Tuesday January 09 2001, @08:20AM
  • Free software succeeds where OOP has failed by Adam J. Richter (Score:1) Tuesday January 09 2001, @08:20AM
  • Re:Examples? (Score:3)

    by piggy (5857) on Tuesday January 09 2001, @08:20AM (#520547) Homepage
    OO does not bring benefits for all projects. OO does not always bring short term benefits. Where OO excels is maintainability and understandability, as well as distribution of labor for a medium or large scale project. A 15 hour project is nothing. Worst case if you need to expand or maintain that project, you waste another 15 hours. A large scale multiple year project, however, truly benefits from an OO approach.

    If implemented with discipline and knowledge, an OO project is better maintained than a procedural one. However, I would take a disciplined procedural project over a messy OO project. The overall guiding point is rigorous software engineering, and OO provides some language level discipline, while procedural programming provides nothing at the language level. If a good process is followed, though, language level support is just convenient fluff.

    Russell
  • new logical fallacy: the communism fallacy by kellan1 (Score:1) Tuesday January 09 2001, @08:01AM
  • FUD by winchester (Score:1) Tuesday January 09 2001, @08:02AM
  • Re:OOP is a tool, not a philosophy by barjam (Score:1) Tuesday January 09 2001, @08:02AM
  • NO silver bullet but C++ multiparadigm is usefull! by UnknownSoldier (Score:2) Tuesday January 09 2001, @08:44AM
  • Sadly, I must agree with this article by timcuth (Score:1) Tuesday January 09 2001, @08:44AM
  • Re:reusability... by Skapare (Score:2) Tuesday January 09 2001, @08:45AM
  • Re:Another reason ... by kaisyain (Score:1) Tuesday January 09 2001, @08:20AM
  • by Lumpish Scholar (17107) on Tuesday January 09 2001, @08:45AM (#520555) Homepage Journal
    ... it's been around (and used successfully) for over fifteen years?

    As Jim Coplien has pointed out, OO (objected oriented programming / design / analysis) is older today than "structured" programming / design / analysis was when OO first burst upon the scene. (The structured movement first got some serious press in the mid to late 1960s; the classic book by Dahl, Dijkstra, and Hoare was published in 1972. OO started no later than Simula-67 and Smalltalk-72, and first gathered mainstream attention in the 1980 - 1982 timeframe. The first OOPSLA conference was in 1986.)

    Yes, some snake-oil salesmen overhype OO ... or whatever buzzword they can apply to their product. Surprise.

    No, OO is not a panacea. It's not even always the right tool to apply to a particular design or programming problem. (Coplien's recent book, Multi-Paradigm Design for C++ [fatbrain.com], is a tough but worthwhile read that addresses this issue.)

    You may dislike a particular language that supports OO (Smalltalk, C++, Java, even Perl) but find the paradigm worthwhile in some other language.

    For comparison, compare with this message in Risks Digest [ncl.ac.uk]: "The structured programming revolution is a real bad idea that has been significantly holding back progress for years.... Have there been any double blind studies which unambiguously show that the kind of programs that structured programming partisans enjoy are really more maintainable than some other kind of program? I've heard lots of testimonials, but no real evidence." Sound kind of familiar? (Heh.) --PSRC
  • the key phrase is: properly implemented by HiyaPower (Score:2) Tuesday January 09 2001, @08:47AM
  • Good point... by T.Hobbes (Score:1) Tuesday January 09 2001, @08:47AM
  • by rkent (73434) <rkent@nOspaM.post.harvard.edu> on Tuesday January 09 2001, @08:02AM (#520558)
    Ha! Man, he's probably trolling around here, too. I wonder what his slashdot ID is? Probably the same one who submitted the story ;)

    Wow. I think /. has been seriously trolled this time.

  • Objects & RDBMS by hugg (Score:2) Tuesday January 09 2001, @08:20AM
  • hindsight 20/20, or is it? by Stalcair (Score:1) Tuesday January 09 2001, @08:48AM
  • Re:Poor criticism by VirtualAdept (Score:2) Tuesday January 09 2001, @08:03AM
  • Eliminating case/switch statements? by The Shrubber (Score:1) Tuesday January 09 2001, @08:48AM
  • Re:common misconception by Black Parrot (Score:2) Tuesday January 09 2001, @08:21AM
  • I come not to praise Caesar.... by DirtyDevo (Score:1) Tuesday January 09 2001, @08:03AM
  • by johnnyb (4816) <johnnyb@eskimo.com> on Tuesday January 09 2001, @08:04AM (#520565) Homepage
    I don't think its a fad. Structured programming is still the model we use, even when using it within object-oriented programming.

    The guy who wrote the article missed one of the most important aspects of OO, and that's _interface_ inheritance. Interface inheritance is _NOT_ subtyping, and is vastly more flexible and usable than subtyping, which seemed to be one of his big gripes. If you want to know more about interface inheritance, look at my page at

    http://members.wri.com/johnnyb/comppapers/factor in ginheritance.html

    I called them "feature factors" here.
  • by Gorimek (61128) on Tuesday January 09 2001, @08:04AM (#520566) Homepage
    Does OO make assumptions about human nature?

    Actually it does. But it's a correct one.

    One of the basic assumptions is that the human brain is built to think about the world in terms of things that have properties and behaviour. We can think in terms of procedures and execution flow as well, but we're not nearly as good at it.
  • by BinxBolling (121740) on Tuesday January 09 2001, @08:21AM (#520567)
    If you add the methods to manipulate the structure (via function pointers if you're using C), then you have an object.

    What do you think the "window_init", "window_draw", and "window_destroy" functions were? Just because these functions weren't formally defined as methods of the window_t object doesn't mean that they aren't methods. In the programmer's mind, they're methods, and that's what matters, in the end.

  • Who IS this guy? Don't waste your time. by jageryager (Score:1) Tuesday January 09 2001, @08:04AM
  • Re:/.-ed within 3 mins? by Malc (Score:1) Tuesday January 09 2001, @08:04AM
  • Boy, does this ever miss the point by scorbett (Score:1) Tuesday January 09 2001, @08:49AM
  • Re: Poor criticism - and biased by MidnightLog (Score:2) Tuesday January 09 2001, @08:50AM
  • C'mon....it's not really that bad..... by zerofoo (Score:1) Tuesday January 09 2001, @08:22AM
  • Re:inheritence is also about design reuse by elflord (Score:1) Tuesday January 09 2001, @08:50AM
  • OOP useful in some cases, but usually not. by SCHecklerX (Score:1) Tuesday January 09 2001, @08:50AM
  • Re:Another reason ... by SpinyNorman (Score:2) Tuesday January 09 2001, @08:23AM
  • Re:Table-Oriented + OOP by Shadowlion (Score:1) Tuesday January 09 2001, @08:24AM
  • Re:My view by dbarclay10 (Score:2) Tuesday January 09 2001, @08:05AM
  • You're programmer? by msergeo (Score:1) Tuesday January 09 2001, @08:24AM
  • by Samrobb (12731) on Tuesday January 09 2001, @08:05AM (#520579) Homepage Journal

    The article is topped off with a gif image tagged "OOP Stinks!". That should give you a good insight into the level of discourse that follows.

    Of course, the author absolves himself from all responsibility for having to present anything more than an emotion-filled diatribe by stating early on:

    Disclaimer: not all myths discussed are necessarily shared by all or even most OO proponents. They are based on "common notions" found in the business and programming world as I have observed them. I am making no claims as to the frequency of beliefs in the myths. My frequency of encounter may differ from yours. Discussing myths is not the same as "punching a straw-man", which some OO proponents claim I am doing by mentioning myths.

    So... his article is based on debunking "OOP Myths", which he states are not "necessarily shared by all or even most OO proponents." He repeatedly fails to back up any of his points with citations or references (and at one point, actually states "Sorry, we accidentally lost the references.") Instead, he justifies his arguments by making blanket statements like "Many OO books and even some OO fans suggest that OO only shines under fairly ideal conditions." Which OO books? "Some" OO "fans"? (Remember the disclaimer - not neccesarily all or even most OO proponents...)

    Finally, some of his commonly (or not-so-commonly - take a look at that disclaimer, again) believed OOP myths are outrageous to the point of being silly... OOP eliminated the need for case or switch statements? OOP makes programming more visual? Only OOP has automatic garbage collection? Components can only be built with OOP? Only Only OO databases can store large, multimedia data? Who, exactly, does believe these myths? PHBs? Certainly not anyone with a CS education or decent amount of programming experience.

    The best thing I can say about this article is that I think the author has a few good points and compelling arguments that are, unfortunately, lost amid the noise and confusion of unsubstantiated facts. If you can read it through and keep from grimacing in pain as OOP is compared to communism and the lack of research in non-OOP languages is decried, you might be able to find an idea or two that will reward you for the effort.

  • Missing the point? by CharmQuark (Score:1) Tuesday January 09 2001, @08:05AM
  • Re:common misconception by tssm0n0 (Score:1) Tuesday January 09 2001, @08:25AM
  • overboard? by johndoe42 (Score:1) Tuesday January 09 2001, @08:05AM
  • by f5426 (144654) on Tuesday January 09 2001, @08:05AM (#520583)
    the quote on top of the object oriented langages chapter was something like:

    "object: to feel distate for something"

    I laughed my ass off (even if I do OO programming since 1991).,

    Cheers,

    --fred
  • Re:common misconception by ADRA (Score:1) Tuesday January 09 2001, @08:05AM
  • Re:Wrong by TulioSerpio (Score:1) Tuesday January 09 2001, @08:05AM
  • Re:My view by WinDoze (Score:1) Tuesday January 09 2001, @08:51AM
  • OOP Good...OOP Bad. by BorlandInsider (Score:1) Tuesday January 09 2001, @08:53AM
  • "Abstraction Distraction" my ass by VonKruel (Score:2) Tuesday January 09 2001, @08:54AM
  • Re:Wrong by TulioSerpio (Score:2) Tuesday January 09 2001, @08:55AM
  • by WillWare (11935) on Tuesday January 09 2001, @08:27AM (#520590) Homepage Journal
    I work in C and Python. In C, I occasionally do a tiny amount of C polymorphism using function pointers, but it's infrequent. Python's OO model is very easy to deal with, but I find that prematurely OO-ing my code is as bad as premature optimization. If I'm really lucky, my objects will be useful for some later project. This is by no means guaranteed.

    Objects are great where they work, and where you have the time and experience to tune them to perfection. The Python libraries are full of beautifully crafted, wonderfully useful object definitions. But that investment is large, and in many cases, doesn't make sense for the purpose at hand. And there are problem domains for which objects simply aren't the natural description.

    The OO people say that the wrong way to reuse code is the cut-paste-tweak method, because then you have two diverging copies floating around. In a perfect world everything might be in a source code repository and I could submit a change rather than spawn a private tweak. But change submissions mean bureaucracy, if I'm working with other people. If my tweak will never see public use, the overhead is an unnecessary diversion.

    The cited geocities page makes noise about table-oriented programming. I remember hearing similar things in the past, stuff like "Put the intelligence in your data and keep your code simple". I would have liked to see a better description of TOP, perhaps a few pointers to tutorials. The guy's own descriptions are pretty useless for quickly grokking his point. Maybe he's only preaching to the database crowd, and I'm not supposed to get it.

  • Re:reusability... by Camel Pilot (Score:1) Tuesday January 09 2001, @08:55AM
  • Beware!! Your coding dept. breeding bolsheviks! by corvi42 (Score:2) Tuesday January 09 2001, @08:28AM
  • Re:common misconception by evocate (Score:1) Tuesday January 09 2001, @08:56AM
  • Three? Try nine... But its ALWAYS been like this. by crovira (Score:2) Tuesday January 09 2001, @08:29AM
  • Re:Criticizing Knuth's Tie Clips by segmond (Score:2) Tuesday January 09 2001, @08:29AM
  • Re:common misconception by SpinyNorman (Score:1) Tuesday January 09 2001, @08:29AM
  • Objects don't interact with everything by SilentBob (Score:1) Tuesday January 09 2001, @08:06AM
  • Point - Counter Point by Radical Rad (Score:1) Tuesday January 09 2001, @08:06AM
  • If we'd all been using Pascal... by slickwillie (Score:2) Tuesday January 09 2001, @08:07AM
  • Re:common misconception by VirtualAdept (Score:1) Tuesday January 09 2001, @08:07AM
  • One word... by p3d0 (Score:1) Tuesday January 09 2001, @08:29AM
  • Re:My view by dbarclay10 (Score:2) Tuesday January 09 2001, @08:07AM
  • I find a hybrid of the two works best by bigman921 (Score:1) Tuesday January 09 2001, @08:07AM
  • If it doesn't work, it's not fast by Wrexen (Score:1) Tuesday January 09 2001, @08:07AM
  • Re:Another reason ... by taniwha (Score:2) Tuesday January 09 2001, @09:31AM
  • Where is Churchill when you need him? by PHAEDRU5 (Score:1) Tuesday January 09 2001, @09:32AM
  • Why I like Object-Oriented Programming by Art_XIV (Score:1) Tuesday January 09 2001, @08:56AM
  • Re:You're right, but... by .pentai. (Score:1) Tuesday January 09 2001, @09:32AM
  • You're right, but... by FunOne (Score:1) Tuesday January 09 2001, @08:57AM
  • Re:Another reason ... by Tilde~ (Score:1) Tuesday January 09 2001, @09:32AM
  • I tend to agree with the author.. by Omega (Score:2) Tuesday January 09 2001, @07:27AM
  • Re:If it doesn't work, it's not fast by Tasfalen (Score:1) Tuesday January 09 2001, @09:33AM
  • He just doesn't get it. by dentin (Score:1) Tuesday January 09 2001, @08:29AM
  • VB Programmer by fdiv (Score:1) Tuesday January 09 2001, @08:58AM
  • Re:common misconception by Paradise_Pete (Score:1) Tuesday January 09 2001, @09:35AM
  • Huh? by Spamuel (Score:1) Tuesday January 09 2001, @07:27AM
  • Re:Wrong by Plisken (Score:1) Tuesday January 09 2001, @08:59AM
  • Re:I tend to agree with the author.. by MidnightLog (Score:1) Tuesday January 09 2001, @09:35AM
  • The biggest problem with OOP by AlgUSF (Score:2) Tuesday January 09 2001, @07:27AM
  • Re:Author is a USENET troll/pest by rkent (Score:1) Tuesday January 09 2001, @08:31AM
  • Re:OO (probably) is the future. by Kphrak (Score:1) Tuesday January 09 2001, @09:36AM
  • Criticizing Knuth's Tie Clips by DaveWood (Score:2) Tuesday January 09 2001, @08:07AM
  • Re:fp by Quid (Score:1) Tuesday January 09 2001, @07:27AM
  • Re:Three? Try nine... But its ALWAYS been like thi by elflord (Score:1) Tuesday January 09 2001, @08:59AM
  • Re:Code Reuse by slamb (Score:1) Tuesday January 09 2001, @08:08AM
  • Pick the right tool for the right job! by tmoertel (Score:2) Tuesday January 09 2001, @08:32AM
  • Ahmen by Anonymous Coward (Score:1) Tuesday January 09 2001, @09:00AM
  • Issue over Code Reuse by Misch (Score:2) Tuesday January 09 2001, @08:33AM
  • A cop-out? (Score:3)

    by TDScott (260197) on Tuesday January 09 2001, @07:29AM (#520629)

    Disclaimer: not all myths discussed are necessarily shared by all or even most OO proponents. They are based on "common notions" found in the business and programming world as I have observed them. I am making no claims as to the frequency of beliefs in the myths. My frequency of encounter may differ from yours. Discussing myths is not the same as "punching a straw-man", which some OO proponents claim I am doing by mentioning myths.

    So... this is based on his experiences, without research? He has based this piece of writing on merely his viewpoint? Surely, if any technical critic wishes to be taken seriously, he should back his work up with proper figures and research, rather than "myths".

    Communism also looked good in theory, but its base assumptions about human nature were flat wrong!

    Okay... he's comparing OO with Communism? I don't see the connection. Does OO make assumptions about human nature?

    This seems far too much like a rant, backed up with a few web pages... I would not take this seriously.

  • by garoush (111257) on Tuesday January 09 2001, @08:10AM (#520630) Homepage
    How far is "... a while back while working on an unnamed CPU project..."? If you are talking 5+ years, or even 3+ years, than you data is out of date as today's compilers are much more efficient about optimizing C++ code.

  • Re:Author is a USENET troll/pest by Anonymous Coward (Score:1) Tuesday January 09 2001, @08:10AM
  • Re:This is bogus ... by DigitalDreg (Score:1) Tuesday January 09 2001, @08:33AM
  • Re:Not a pain? What about massive inbred inheritan by Anonymous Coward (Score:1) Tuesday January 09 2001, @08:10AM
  • clueless nonsense by ckeeper (Score:1) Tuesday January 09 2001, @08:33AM
  • Re:Wrong by cje (Score:2) Tuesday January 09 2001, @08:11AM
  • Re:The real benefits by mybecq (Score:1) Tuesday January 09 2001, @08:11AM
  • Re:One word... by krlynch (Score:2) Tuesday January 09 2001, @09:36AM
  • Re:common misconception by sumengen (Score:1) Tuesday January 09 2001, @09:36AM
  • Re:inheritence is also about design reuse by mangino (Score:1) Tuesday January 09 2001, @09:40AM
  • Re:common misconception by SpinyNorman (Score:2) Tuesday January 09 2001, @09:42AM
  • References... by funkapus (Score:1) Tuesday January 09 2001, @08:34AM
  • Is This Guy Nuts? by BxT (Score:1) Tuesday January 09 2001, @09:01AM
  • Re:common misconception by gfxguy (Score:2) Tuesday January 09 2001, @08:34AM
  • Re:common misconception by baka_boy (Score:2) Tuesday January 09 2001, @09:42AM
  • oop bad? by holzp (Score:2) Tuesday January 09 2001, @07:30AM
  • reusability... by GoNINzo (Score:2) Tuesday January 09 2001, @07:31AM
  • Good class libaries. by Joseph Vigneau (Score:1) Tuesday January 09 2001, @09:42AM
  • Re:Another reason ... by acroyear (Score:1) Tuesday January 09 2001, @08:34AM
  • CmdrTaco flaunts his ignorance by Katz_is_a_moron (Score:2) Tuesday January 09 2001, @09:02AM
  • Re:Wrong by BlaisePascal (Score:1) Tuesday January 09 2001, @08:35AM
  • My view by dbarclay10 (Score:2) Tuesday January 09 2001, @07:31AM
  • OO Allows for Optimization (Re:Another reason ...) by tony clifton (Score:1) Tuesday January 09 2001, @08:35AM
  • Maybe your cache design sucks by the red pen (Score:1) Tuesday January 09 2001, @09:03AM
  • Re:Moderators.. by w.mode (Score:1) Tuesday January 09 2001, @08:35AM
  • OOP = Communism ??? by Anonymous Coward (Score:1) Tuesday January 09 2001, @07:32AM
  • OOP beats structured programming hands down. by hajo (Score:1) Tuesday January 09 2001, @09:03AM
  • Duh,the comparison is simple! by Hairy_Potter (Score:1) Tuesday January 09 2001, @07:32AM
  • Re:my own 2 cents by bigbadbuccidaddy (Score:1) Tuesday January 09 2001, @08:35AM
  • OOP is Worth It by Arandir (Score:2) Tuesday January 09 2001, @09:46AM
  • Re:OOP = Communism ??? by kuzinov (Score:1) Tuesday January 09 2001, @09:47AM
  • OOP = Communism!!! by JWhitlock (Score:1) Tuesday January 09 2001, @09:47AM
  • Re:common misconception by VonKruel (Score:1) Tuesday January 09 2001, @09:04AM
  • What makes headlines in Slashdot? by sean_akira (Score:1) Tuesday January 09 2001, @09:04AM
  • Re:I tend to agree with the author.. by paul r (Score:1) Tuesday January 09 2001, @09:47AM
  • by SpinyNorman (33776) on Tuesday January 09 2001, @07:33AM (#520665)
    Sure OOP is a design technique not an attribute of a language (although some make it easier than others), but your example is bogus.

    A data structure is a structure, not an object.

    If you add the methods to manipulate the structure (via function pointers if you're using C), then you have an object.
  • Objects by sharkey (Score:1) Tuesday January 09 2001, @08:36AM
  • Re:reusability... by donny (Score:1) Tuesday January 09 2001, @09:05AM
  • Re:Another reason ... by taniwha (Score:1) Tuesday January 09 2001, @09:48AM
  • OOP ... not for me by wamckee (Score:1) Tuesday January 09 2001, @09:05AM
  • Re:reusability... by mangino (Score:1) Tuesday January 09 2001, @09:50AM
  • Is it that time of the decade again? by Orgasmatron (Score:1) Tuesday January 09 2001, @07:33AM
  • OOD good -- OOP breeds bad programmers by Skapare (Score:2) Tuesday January 09 2001, @08:36AM
  • Re:reusability... by mcwop (Score:1) Tuesday January 09 2001, @08:36AM
  • by Shoeboy (16224) on Tuesday January 09 2001, @07:33AM (#520674) Homepage
    Personally, I've never been a huge fan of OOP, so I tend to agree on a lot of these points.

    Taco,
    Some of us remember what slashcode [slashcode.com] looked like before pudge and friends started cleaning it up.

    Not only are you opposed to OOP, but you don't seem to be terrible wild about structured programming either. Nor do you give readibility and maintainability the time of day. Your relationship with elegant code is in the "distant admiration" category and you seem to consider sobriety an impediment to productivity.

    Not that I disagree with you on any of these points, I just wanted to mention that we allready know about them.
    --Shoeboy
  • Re:Who IS this guy? Don't waste your time. by sceptre1067 (Score:1) Tuesday January 09 2001, @09:52AM
  • Re:The real benefits by FredK (Score:1) Tuesday January 09 2001, @09:52AM
  • the big, fuzzy hairball of OOP by q000921 (Score:2) Tuesday January 09 2001, @08:36AM
  • That's the real myth here by eclectro (Score:1) Tuesday January 09 2001, @09:06AM
  • The mans a loony by Vanders (Score:1) Tuesday January 09 2001, @07:34AM
  • Re:OO is dead as a silver bullet, alive otherwise. by Black Parrot (Score:2) Tuesday January 09 2001, @08:36AM
  • This is bogus ... by DigitalDreg (Score:1) Tuesday January 09 2001, @07:34AM
  • Rebutting a couple points by DeadSea (Score:2) Tuesday January 09 2001, @08:38AM
  • Re:Is taco sad...? by gsf (Score:1) Tuesday January 09 2001, @09:06AM
  • Re:common misconception by segmond (Score:2) Tuesday January 09 2001, @07:34AM
  • Re:Huh? by TulioSerpio (Score:1) Tuesday January 09 2001, @07:34AM
  • The 90/10 rule by elflord (Score:1) Tuesday January 09 2001, @09:06AM
  • Re:fp by S. Allen (Score:2) Tuesday January 09 2001, @07:35AM
  • The Chrome Bullet by JPelzer (Score:1) Tuesday January 09 2001, @08:39AM
  • Modules are simpler to design than object model by cnewman (Score:1) Tuesday January 09 2001, @08:39AM
  • Re:Examples? by boudreau (Score:1) Tuesday January 09 2001, @10:45AM
  • OOP by Programming_Princess (Score:1) Tuesday January 09 2001, @09:56AM
  • OOP by Programming_Princess (Score:1) Tuesday January 09 2001, @09:56AM
  • Re:common misconception by spRed (Score:1) Tuesday January 09 2001, @10:49AM
  • What a load of BS by BeanThere (Score:2) Tuesday January 09 2001, @09:57AM
  • by twitter (104583) on Tuesday January 09 2001, @10:50AM (#520695) Homepage Journal
    Actually, you can just look at his pages to find gems like this:

    Actually, most GUI application programmers almost never see the code structure that makes up their screens. They simply click on a screen item, an event selection box comes up (Events like: on_click, on_exit, on_keyboard, etc.), and then a "code snippet" box comes up to edit the event code. Whether that event code is in a method or subroutine does not matter that much to the programmer. If you changed the generated code implementation from OOP to procedural and/or tables, the programmer may never even know the difference.

    This is not a programer!

  • OO Assembler as well - so what? by Gorimek (Score:2) Tuesday January 09 2001, @10:50AM
  • Re:You're right, but... by yugami (Score:1) Tuesday January 09 2001, @09:57AM
  • Re:My view by baka_boy (Score:2) Tuesday January 09 2001, @09:57AM
  • Re:"Object-oriented" languages by Richy_T (Score:2) Tuesday January 09 2001, @10:52AM
  • Uh, yuck? by Dfiant (Score:1) Tuesday January 09 2001, @09:57AM
  • Poor criticism (Score:5)

    by Mr Neutron (93455) on Tuesday January 09 2001, @07:37AM (#520701)
    The linked article seems to have more to do with the "silver bullet" mentality than OOP specifically. Anybody worth listening to will tell you that it's just as easy to screw up a OOP project as it is a procedural project. Really, has anybody used "it's object-oriented" as a selling point since 1989 or so?

    In general, the criticism contained in the article is poorly founded. The author uses some nice charts, but has no citiations for them. For instance:

    The problem is that building generic abstract modules (intended for reuse in later projects) requires roughly three times the effort as a project-dedicated (regular) module. Although no references will be given here, this figure is fairly widely accepted in the industry.
    Accepted by whom? I've never heard that asserted by anyone in my academic or professional careers.

    Some of the things he calls out apply equally to procedural languages, such as:

    When a new language fad replaces OOP, how do you convert legacy Java objects into Zamma-2008 objects?
    When Pascal replaces C, how do I convert my C functions into Pascal functions? Eh?

    He makes some good points about measuring the effects of change (everybody should do that!) but I don't think this really strikes a death blow to OOP.

    Neutron

  • Re:Myth: Implementation vs. interface changes by juliao (Score:1) Tuesday January 09 2001, @10:53AM
  • Re:Another reason ... by jmaessen (Score:1) Tuesday January 09 2001, @09:09AM
  • Proof Burden is on YOU, Mouthrot by Tablizer (Score:1) Tuesday January 09 2001, @10:54AM
  • oo is not for fools by jilles (Score:2) Tuesday January 09 2001, @09:10AM
  • Re:reusability... by infodragon (Score:2) Tuesday January 09 2001, @09:59AM
  • Re:common misconception by SpinyNorman (Score:1) Tuesday January 09 2001, @08:40AM
  • counter argument: hasn't really been tried by peter303 (Score:2) Tuesday January 09 2001, @09:10AM
  • Re:Author is a USENET troll/pest by Hard_Code (Score:2) Tuesday January 09 2001, @10:00AM
  • OOP...in BASIC? by cr0sh (Score:2) Tuesday January 09 2001, @09:11AM
  • Taco and OOP by Joe Bananas (Score:1) Tuesday January 09 2001, @07:37AM
  • Re:The real benefits by PSC (Score:2) Tuesday January 09 2001, @08:40AM
  • It's Bryce, man! by marlowe (Score:1) Tuesday January 09 2001, @10:00AM
  • bleh by /dev/niall (Score:1) Tuesday January 09 2001, @08:41AM
  • Both right and wrong... by Courageous (Score:1) Tuesday January 09 2001, @09:11AM
  • GUI's vs GUIs by -kyz (Score:2) Tuesday January 09 2001, @07:38AM
  • Re:common misconception by RevAaron (Score:2) Tuesday January 09 2001, @09:11AM
  • Winded...not like an oop program by bobbabemagnet (Score:1) Tuesday January 09 2001, @07:38AM
  • Re:Another reason ... by uksv29 (Score:2) Tuesday January 09 2001, @08:43AM
  • Re:Wrong by elflord (Score:2) Tuesday January 09 2001, @08:43AM
  • "I tend to agree on a lot of these points" by frinkahedron (Score:1) Tuesday January 09 2001, @07:38AM
  • Re:Poor criticism by td (Score:1) Tuesday January 09 2001, @08:43AM
  • Just another kook, methinks by jim (Score:1) Tuesday January 09 2001, @08:44AM
  • Re:reusability... by flashbang (Score:1) Tuesday January 09 2001, @10:54AM
  • Re:Floundering in embedded systems by ka9dgx (Score:1) Tuesday January 09 2001, @10:54AM
  • This is definitely a troll by tblanchard (Score:1) Tuesday January 09 2001, @10:54AM
  • Re:"Object-oriented" languages (oops) by Richy_T (Score:2) Tuesday January 09 2001, @10:54AM
  • graphs *cough* are very enlightening by rumba (Score:1) Tuesday January 09 2001, @10:56AM
  • OOP can do things, but does not necessarily by WillSeattle (Score:1) Tuesday January 09 2001, @10:06AM
  • Bryce has been spouting his views for some time... by malraux (Score:1) Tuesday January 09 2001, @09:12AM
  • My life and OOP by KagakuNinja (Score:1) Tuesday January 09 2001, @10:07AM
  • Re:common misconception by Phillip2 (Score:1) Tuesday January 09 2001, @09:12AM
  • Reuse is overrated, structuring is underrated by Aapje (Score:1) Tuesday January 09 2001, @10:09AM
  • Two classic Brycisms: by malraux (Score:1) Tuesday January 09 2001, @10:59AM
  • by 0xdeadbeef (28836) on Tuesday January 09 2001, @07:39AM (#520735) Homepage Journal
    It's also true that you can do good object oriened design with a Turing Machine, implemented in the Game of Life, composed of a million midgets wearing reversible parkas, which is directed from above by an Elvis impersonator in a hot air ballon shaped like a guitar.

    That isn't saying it's a good a idea.
    --
    Bush's assertion: there ought to be limits to freedom
  • Re:reusability... by nojomofo (Score:1) Tuesday January 09 2001, @09:12AM
  • Re:OOP...in BASIC? by Richy_T (Score:2) Tuesday January 09 2001, @10:59AM
  • by Anonymous Coward on Tuesday January 09 2001, @07:39AM (#520738)
    I agree.

    OO is just a handy way of structuring large systems for maintainability. It is extremely useful for what it does, but isn't magic.

    People who dismiss OO out of hand are making the same mistake as zealots who insist that it must be used for everything by rejecting a useful tool.

    Structured programming, functional programming, OO etc are all extremely useful given the right problem domain. The skill is being able to look at a problem and pick the correct tool for the job. Rejecting, or choosing, something automatically can be a very good way to shoot yourself in the foot.

  • Re:common misconception by volsung (Score:1) Tuesday January 09 2001, @10:10AM
  • Nothing new by Hard_Code (Score:2) Tuesday January 09 2001, @09:12AM
  • Re:reusability... (Score:5)

    by mangino (1588) on Tuesday January 09 2001, @07:39AM (#520741) Homepage
    It has been a long time since I last posted to Slashdot. I can normally restrain myself, but this is just pure and absolute BS.

    Properly implemented, code re-use can pay off immediately. I have worked in shops where every time we added a client, we needed a new copy of the code. Even though most of the processing was the same for the new client, we had to start out with a copy of the code. Code re-use would have bought us hundreds of thousands of dollars very quickly. (This did not ocurr at my current employer)

    Properly implemented abstraction and OO along with iterative design can save a large amount of money very quickly. The key is to prototype your interfaces for the application you have in mind. Once you have done that, think of a completely unrelated use of the interface and test that. If you can handle 2 or 3 different uses, you have a good interface to start with. Rinse and repeat for the rest of your system.

    People may question you immediately, however the minute somebody decides to change the system message transport from http to JMS, you should be able to convince them of the value of proper abstraction and code reuse, just change the transport class and you are done. I did this in a system where we did all of the work necessary to change the transport in less than 30 minutes. The consultant that had been working on the same problem for 3 months was absolutely amazed at quickly I made the change.

    OOP is not a cure all, however its use along with proper abstraction can lead to large savings from code-reuse in a short time.

    Mike
    --
    Mike Mangino
    Sr. Software Engineer, SubmitOrder.com
  • What's wrong with GOTO? by ka9dgx (Score:1) Tuesday January 09 2001, @10:11AM
  • Re:Is taco sad...? by BitwizeGHC (Score:1) Tuesday January 09 2001, @09:13AM
  • Article is missing a lot by Maryck (Score:1) Tuesday January 09 2001, @07:39AM
  • Another reason ... (Score:4)

    by taniwha (70410) on Tuesday January 09 2001, @07:40AM (#520745) Homepage Journal
    (for the record I first wrote smalltalk code in the 70's, I regularly code in C++ ...)

    I'm a sometimes chip designer, sometimes programmer ... a while back while working on an unnamed CPU project I did some low level performance analysis on a number of well known programs (maybe even the browser you're using now) basicly we were taking very long instruction/data traces and then modelling them against various potential CPU pipeline/tlb/cache architectures - we were looking for things that would help guide us to a better architecture for our CPU.

    I found that quite early on I could figure out which language something was coded in from the cooked numbers pretty easily - OO (ie C++) coded stuff always had a really sucky CPI (clocks per instruction - a measure of architectural efficiency that includes pipe breaks, stalls and cache misses) - I spent some time looking at this (since it seemed that C++ code would probably become more common in our CPU's lifetime) - basicly C++ code sucked because it took more icache hits (because the coding style encourages lots of subroutine calls which tend to spread over the cache more filling the I$ quickly) and it took more pipe breaks (also due to the subrotine calls and returns - it turned out that some code generators did stuff that broke CPU's return stack caches causing many more mispredicts) and finally virtual method dispatches (basicly load a pointer, save the pc on the stack and jump to the new pointer) tended to cause double pipe stalls that couldn't be predicted well at all even though these weren't done much they were a real killer (if you've one a bit of modern CPU architecture you learn that with long pipes you live or die on your branch predictor's hit rate - these were very bad news)

    In short C++ and more genrally OO result in code and coding styles that tend to make code that makes modern CPU's run less efficiently.

    Anyway - you often hear about 'efficiency of programmers' etc etc for OO - I thought I'd add a data point from the other end of the spectrum.

  • Communism? by ragnar (Score:2) Tuesday January 09 2001, @09:14AM
  • agreed--fighting anecdote with anecdote. by KFW (Score:1) Tuesday January 09 2001, @10:12AM
  • Re:Another reason ... by taniwha (Score:2) Tuesday January 09 2001, @09:15AM
  • What are you talking about? by bobbabemagnet (Score:1) Tuesday January 09 2001, @07:42AM
  • Is C# the answer? by peter303 (Score:2) Tuesday January 09 2001, @09:16AM
  • Re:I tend to agree with the author.. by ProtonMotiveForce (Score:1) Tuesday January 09 2001, @07:42AM
  • Re:Myth... by BeanThere (Score:2) Tuesday January 09 2001, @10:59AM
  • The most important OOP benefits by CharlieG (Score:2) Tuesday January 09 2001, @10:59AM
  • Answer: it gets you labeled a "Ludite" by Tablizer (Score:1) Tuesday January 09 2001, @10:59AM
  • C++ is *NOT* OO! by Eric Green (Score:2) Tuesday January 09 2001, @11:01AM
  • Re:Another reason ... by Hard_Code (Score:2) Tuesday January 09 2001, @10:14AM
  • Ah, back to the insults again, I see. by malraux (Score:1) Tuesday January 09 2001, @11:01AM
  • Re:OOP...in BASIC? by asuffield (Score:1) Tuesday January 09 2001, @10:14AM
  • "Object-oriented" languages by cje (Score:2) Tuesday January 09 2001, @10:14AM
  • XML is a markup language. by malraux (Score:1) Tuesday January 09 2001, @11:03AM
  • Re:The real benefits by elflord (Score:1) Tuesday January 09 2001, @09:19AM
  • Re:common misconception by freddevice (Score:1) Tuesday January 09 2001, @10:14AM
  • Re:Talk about flamebait... by RevAaron (Score:2) Tuesday January 09 2001, @09:19AM
  • Re:"Object-oriented" languages by joto (Score:1) Tuesday January 09 2001, @11:04AM
  • Re:common misconception by pod (Score:1) Tuesday January 09 2001, @09:22AM
  • No Magic Bullet. (Score:3)

    by maddboyy (32850) on Tuesday January 09 2001, @07:42AM (#520766) Homepage
    This article can be applied to any kind of programming paradigm. Basically, the author concludes that OOP isn't any good because some developers and managers aren't applying it correctly. Well, that's the case for procedural programming, declaritive, functional, etc. Yes, OOP will not solve the problem of rushed projects, poor management, or stupid programmers; neither will any other programming style though.

    Programmers just need to be familiar with multiple programming practices and languages. Programmers need to know when just hammering out some _properly_ planned procedural code will fit the case better than some _properly_ planned OO code. There is no magic bullet and because of this, I think it's a bit pointless to say that one programming style is leaps and bounds better or worse than another.

    I really wish the author had the confidence in the claims to actually site some hard facts and not some made up claims. Most of the article just seems like old rehashed FUD from the dawn of the OOP movement. The author mentions all of these failed business apps and blaims OOP for their problems. I guess IBM, Oracle, NASA, and some of the other big software shops are a bunch of idiots for doing any OOP. But of course this guy must be an expert on software design practices and that's why he has a Bell Labs URL.
  • I am that "troll" by Tablizer (Score:2) Tuesday January 09 2001, @10:15AM
  • Can someone verify this? by JWhitlock (Score:1) Tuesday January 09 2001, @09:22AM
  • Re:reusability... by flashbang (Score:1) Tuesday January 09 2001, @11:05AM
  • Not Objective by Maurice (Score:1) Tuesday January 09 2001, @07:42AM
  • Re:OO is dead as a silver bullet, alive otherwise. by jstott (Score:1) Tuesday January 09 2001, @10:17AM
  • Myth takes by BorlandInsider (Score:1) Tuesday January 09 2001, @09:23AM
  • Re:reusability... by Paradise_Pete (Score:1) Tuesday January 09 2001, @10:18AM
  • Re:People think in objects by lrichardson (Score:1) Tuesday January 09 2001, @10:18AM
  • OOPs! by z33d (Score:1) Tuesday January 09 2001, @07:43AM
  • Yes. And BryceJ from IWE, and Tabilizer from by addison (Score:1) Tuesday January 09 2001, @09:25AM
  • I smell burnt Taco... by the red pen (Score:2) Tuesday January 09 2001, @09:25AM
  • Trees and Files by Tablizer (Score:1) Tuesday January 09 2001, @12:24PM
  • Re:common misconception by BinxBolling (Score:2) Tuesday January 09 2001, @12:27PM
  • mOOt - you could not even provide one by Tablizer (Score:1) Tuesday January 09 2001, @11:06AM
  • Re:The mans a loony by Yunzil (Score:1) Tuesday January 09 2001, @12:32PM
  • But Rob... that's not his "niche" by malraux (Score:1) Tuesday January 09 2001, @11:07AM
  • abstraction pays dividends... by blurpy (Score:1) Tuesday January 09 2001, @11:07AM
  • Re:Trees and Files by Tilde~ (Score:1) Tuesday January 09 2001, @12:35PM
  • OOP can be helpful by Vassily Overveight (Score:2) Tuesday January 09 2001, @10:21AM
  • Re:common misconception by EatAtJoes (Score:1) Tuesday January 09 2001, @11:08AM
  • Re:Author is a USENET troll/pest by FatHogByTheAss (Score:2) Tuesday January 09 2001, @12:35PM
  • If your non-oop coding sucks, by GameGuy (Score:2) Tuesday January 09 2001, @10:21AM
  • Re:common misconception by joto (Score:1) Tuesday January 09 2001, @11:08AM
  • Re:Real world objects, procedural objects by aardvarkjoe (Score:2) Tuesday January 09 2001, @12:37PM
  • Very Poor Article by HarpMan (Score:1) Tuesday January 09 2001, @12:37PM
  • by aardvarkjoe (156801) on Tuesday January 09 2001, @10:22AM (#520792)
    (Go figure; that post just gave me my bonus back. Time to lose it again :)

    Well, OOP should be used for things where the data structures resemble (in some way) real-world objects. For instance, games and other things that simulate physics can benefit from object-oriented design. Databases with dissimilar chunks of data might be easier to deal with using OOP. It may be helpful to represent other computers or programs as objects, in applications that require large amounts of intercommunication and response.

    OOP essentially downplays procedural programming, but (at least I) tend to find many things procedural, which would have to be twisted up to fit into the OO paradigm. Anything that does an easily-definable process, such as most system utilities and so forth, is probably not suited for OOP. Back to games, I recently wrote a 'roguelike' game: although the code dealing with monsters and items was somewhat object-oriented, the game logic itself was procedural. Programs that primarily deal with large amounts of raw data should probably deal with it in a procedural rather than OO manner.

  • OO reach my university :( by lovepot (Score:1) Tuesday January 09 2001, @12:40PM
  • A boil down for this long article by retinaburn (Score:1) Tuesday January 09 2001, @10:22AM
  • Re:Tell us something we don't already know... by Azghoul (Score:1) Tuesday January 09 2001, @11:10AM
  • Bryce has been doing this forever. by malraux (Score:1) Tuesday January 09 2001, @09:26AM
  • the article has no valididity by mozkill (Score:1) Tuesday January 09 2001, @09:27AM
  • Re:the key phrase is: properly implemented by dlkf (Score:1) Tuesday January 09 2001, @10:22AM
  • If you're wanting OO... by Kupek (Score:1) Tuesday January 09 2001, @11:10AM
  • The performance Issue & Stackless by Frums (Score:1) Tuesday January 09 2001, @10:22AM
  • Re:I tend to agree with the author.. by squiggleslash (Score:2) Tuesday January 09 2001, @07:44AM
  • Re:The real benefits by Harmast (Score:1) Tuesday January 09 2001, @09:27AM
  • Which 'People'? You know what is best for *me*? by Tablizer (Score:1) Tuesday January 09 2001, @11:12AM
  • Re:common misconception by BinxBolling (Score:1) Tuesday January 09 2001, @09:27AM
  • my own 2 cents by segmond (Score:2) Tuesday January 09 2001, @07:44AM
  • It all depends on how you view OOP by garoush (Score:2) Tuesday January 09 2001, @07:44AM
  • Re:My view by asuffield (Score:1) Tuesday January 09 2001, @10:23AM
  • Re:Wrong by pod (Score:1) Tuesday January 09 2001, @09:28AM
  • Hmm... by cr0sh (Score:2) Tuesday January 09 2001, @09:28AM
  • Re:Wrong by cje (Score:1) Tuesday January 09 2001, @10:23AM
  • good programmers matter more by Owen Lynn (Score:1) Tuesday January 09 2001, @09:28AM
  • Is this TopMind from comp.object? by ProtonMotiveForce (Score:1) Tuesday January 09 2001, @07:45AM
  • Thanks for the admission. EVERYBODY ELSE! by addison (Score:2) Tuesday January 09 2001, @10:25AM
  • Re:common misconception by dlkf (Score:1) Tuesday January 09 2001, @09:29AM
  • OO Design Techniques - OpenSource and more... by Rotten (Score:2) Tuesday January 09 2001, @07:45AM
  • Re:Another reason ... by glgraca (Score:1) Tuesday January 09 2001, @09:30AM
  • Suspect rhetoric by hyacinthus (Score:2) Tuesday January 09 2001, @07:45AM
  • Re:My view by Schnedt Microne (Score:1) Tuesday January 09 2001, @09:30AM
  • Where OO is good. by rkent (Score:2) Tuesday January 09 2001, @07:45AM
  • re: inheriting a struc by Tablizer (Score:1) Tuesday January 09 2001, @12:41PM
  • Re:I am that "troll" - What fun!!! by HEbGb (Score:1) Tuesday January 09 2001, @12:44PM
  • Re:OOP...in BASIC? by Tilde~ (Score:1) Tuesday January 09 2001, @12:49PM
  • Do we need an addition to the moderation system? by puppetluva (Score:2) Tuesday January 09 2001, @12:49PM
  • Re:common misconception by angel'o'sphere (Score:1) Tuesday January 09 2001, @11:15AM
  • Re:common misconception by SpinyNorman (Score:1) Tuesday January 09 2001, @12:51PM
  • re: storing state, and "looks good on paper" by Tablizer (Score:1) Tuesday January 09 2001, @12:51PM
  • Tell the press and PHB's that. by Tablizer (Score:1) Tuesday January 09 2001, @11:16AM
  • Re:common misconception by still_nfi (Score:1) Tuesday January 09 2001, @10:25AM
  • In for a penny... by Static (Score:1) Tuesday January 09 2001, @12:53PM
  • Re:agreed--fighting anecdote with anecdote. by Tilde~ (Score:1) Tuesday January 09 2001, @11:17AM
  • How I fell off the greasy pole by akc (Score:1) Tuesday January 09 2001, @12:59PM
  • Objects = Identity + Intent-to-extend by Xenophon Fenderson, (Score:1) Tuesday January 09 2001, @11:18AM
  • New Myth: OO would have prevented Y2K by Tablizer (Score:1) Tuesday January 09 2001, @01:04PM
  • Re:My view by BeanThere (Score:2) Tuesday January 09 2001, @11:18AM
  • Re:That's hard? by aleclee (Score:1) Tuesday January 09 2001, @10:27AM
  • Re:Another reason ... by bertok (Score:1) Tuesday January 09 2001, @11:19AM
  • Re:Another reason ... by Wraithlyn (Score:1) Tuesday January 09 2001, @01:10PM
  • Re:"Object-oriented" languages (oops) by cje (Score:1) Tuesday January 09 2001, @11:21AM
  • by h_jurvanen (161929) on Tuesday January 09 2001, @07:45AM (#520839)
    For a long time now USENET groups like comp.object have been tormented by the author of that article with his constant barrage of FUD and inability to construct meaningful arguments. For an idea of what I'm talking about, check out his posting history [deja.com].

    Herbie J.

  • Once again, /. shows its inner nuttiness by inkless1 (Score:1) Tuesday January 09 2001, @11:23AM
  • Re:OOP...in BASIC? by rjmunro (Score:1) Tuesday January 09 2001, @10:27AM
  • geocities... by TWX_the_Linux_Zealot (Score:1) Tuesday January 09 2001, @07:46AM
  • OO == New Qwerty ? by Tablizer (Score:1) Tuesday January 09 2001, @11:24AM
  • Re:I tend to agree with the author.. by cburley (Score:1) Tuesday January 09 2001, @10:28AM
  • Re:common misconception by tssm0n0 (Score:1) Tuesday January 09 2001, @07:46AM
  • Re:Tell us something we don't already know... by The Troll Catcher (Score:1) Tuesday January 09 2001, @10:30AM
  • Re:reusability... by dlkf (Score:1) Tuesday January 09 2001, @10:30AM
  • Code Reuse by destrago (Score:1) Tuesday January 09 2001, @07:47AM
  • Polymorphism (Score:3)

    by slamb (119285) on Tuesday January 09 2001, @07:47AM (#520849) Homepage

    The author doesn't describe in depth what I consider one of the greatest advantages of object oriented programming -- polymorphism. Polymorphism is great because it allows you to invoke different methods for the same operation based on the derived class.

    That makes more sense with a real example. I'm working on a set of classes that has a Stream abstraction. Derived classes must provide ways to do raw reads and writes, close the stream, and a few other things. (Preferably, they also provide some way to open the stream -- but that's not a virtual function.) The stream class itself provides buffered IO and some convenience functions for writing stuff in network order, a nice gets function, etc.

    That allows me to have the same easy IO operations on top of many different kinds of streams:

    • OSStream - what the operating system considers a stream. Can attach to a given fd, etc.
    • FileStream - derived from OSStream, adds the ability to open a named object. (kind of a misnomer, could be a FIFO or whatever.)
    • StreamSocket - also derived from OSStream, blends with a lot of socket functionality.
    • PGLargeObjectStream - a PostgreSQL BLOB (binary large object). Basically, like a file but stored in a PostgreSQL database instead of using an inode. Handy because filesystems have limited number of inodes, not good for lots and lots of small files.
    • SSLStream - a SSL connection, requires another open Stream (probably a StreamSocket) to connect.

    Each one of these provides the same basic abilities -- reading/writing, seeking/telling (where applicable), closing, etc...but they do it in different ways. I need abstract read/write code so I can put shared higher-level code on top of it. Otherwise, I'd have to reimplement the higher-level code for each one. That would suck.

    This doesn't even necessarily need an object-oriented language, just an OO concept. OpenSSL, for example, has a set of C functions that do a lot of the same things I'm talking about. It does it by providing a struct with function pointers...basically, a virtual function table. It's definitely not as pretty (I wish they would have just done it right and used C++) but it does work.

    This is just one advantage of object-oriented programming, but I think it's a very significant one. Worthwhile by itself.

  • Re:common misconception by Malc (Score:1) Tuesday January 09 2001, @07:47AM
  • Re:Talk about flamebait... by Wraithlyn (Score:1) Tuesday January 09 2001, @01:12PM
  • Re:common misconception by pod (Score:1) Tuesday January 09 2001, @01:13PM
  • Re:Article Only Proves Low Education Level by scotteparte (Score:1) Tuesday January 09 2001, @01:16PM
  • insults != wrong by Tablizer (Score:1) Tuesday January 09 2001, @11:28AM
  • Vote Self Authority != Proof by Tablizer (Score:1) Tuesday January 09 2001, @01:17PM
  • Re:Examples? by Aunt Mable (Score:1) Tuesday January 09 2001, @01:22PM
  • Re:common misconception by Tilde~ (Score:1) Tuesday January 09 2001, @11:29AM
  • Re:My view (Score:4)

    by BeanThere (28381) on Tuesday January 09 2001, @10:30AM (#520858)

    "If an object is data with functions, then I've been doing object-oriented programming all my life"

    Generally when people talk about "OOP" they're referring to three general things you'll find in an OOP language:

    1. Encapsulation: This is what you've been doing, by the sounds of it. Data, along with its associated functions, is grouped into an "object" (called a "class" in C++, I think its called an "object" in pascal, IIRC.) This is called "encapsulation", since both the data and functions are organized into a single entity. This grouping is very easy to do with any imperative language (as well as assembly) and follows traditional seperation of programs into "code" and "data" sections. OOP languages just bring the concept closer to the language by providing constructs like C++'s "class". Something else the languages do is facilitate "data-hiding", by allowing you to specify with language constructs (C++'s "public" "private" and "protected") which members are for general users of the class, and which members are for the class's internal use only. Nothing special here - you can do this in C also. C++ just gives you some language constructs to enforce it at compile-time, and perhaps make things a little more organized and readable.
    2. Inheritance. OO languages typically allow these encapsulated objects to 'inherit' behaviour from other objects. This is quite powerful; with a single line of code specifying what to inherit from, your object gains a whole lot of new functionality "for free". Once again though, there is very little special here, it can all still be done with imperative languages. OO languages just, once again, make this concept more a part of the syntax and constructs of the language. Inheritance also allows you to override methods, so if the object you inherit from has a function, you can redefine that function to behave differently.
    3. Polymorphism. Also called late binding. Probably the most powerful aspect of OOP (although, yes, once again, you can hack something in a language like C that will mimick the same behaviour.) Polymorphism is like inheritance, except the version of an overridden function that gets called is determined at runtime rather than compile time, and uses a table of pointers to methods called a "virtual method table". A little difficult to explain .. if I have a generic "widget" class with a function called "Draw", then specific types of widgets (e.g. scroll bars, buttons etc) would firstly inherit from the general widget, and then override the virtual method "Draw". Now a program that handled the user interface can just have alist of pointers to generic widgets (which will in reality be scroll bars, buttons etc), and it does not have to worry about what sort of widget they are, it just has to call the "Draw" function on each of them when it needs them to be drawn to the screen, and using the vmt, the correct "Draw" will be called depending on what type of widget it is.

      Sounds like you've done mostly encapsulation, maybe a bit of inheritance is natural too. Probably not polymorphism though.

      The thing about OOP is, although it supports these concepts in the language, it doesn't automatically lead to good design, and that is the point that the author of the article this whole thread is about seems to have missed. You still have to think about your design very carefully to build good reusable components. In general it does make you think a little bit more carefully before you just start coding away, which isn't a bad thing. There is nothing you can do in C++ though that you can't do in C. C++ just lends itself more readily to expressing certain types of ideas within the language's native syntax, e.g. picture the "gtk+" toolkit without all the ugly hacky typecast macros and the hacky inheritance structure.

      Presumably there are some OO zealots out there (I personally don't know any but the article author seems to think almost every C++ programmer is an OOP zealot) but in general I think most OOP programmers are more focused on solving real-world problems than on spreading hype. For every rabid OOP zealot, there's a rabid anti-OOP zealot. This guys just one of the rabid anti-OOP zealots. When you really do speak to most people in the business, they *dont* have big issues about programming paradigms. They just use the best tool for the job and are actually mature about it.


  • beentheredonethat - granularity by Tablizer (Score:1) Tuesday January 09 2001, @01:24PM
  • Anonymous hack berates OOP without foundation by navyrain (Score:1) Tuesday January 09 2001, @10:31AM
  • Re:OOP...in BASIC? by cr0sh (Score:2) Tuesday January 09 2001, @01:27PM
  • Re:Article Only Proves Low Education Level by Shotgun (Score:2) Tuesday January 09 2001, @11:33AM
  • Re:My view by rfsayre (Score:1) Tuesday January 09 2001, @10:31AM
  • Re:common misconception by Eccles (Score:1) Tuesday January 09 2001, @11:33AM
  • Re:Anonymous hack berates OOP by ichimunki (Score:2) Tuesday January 09 2001, @01:28PM
  • stop dwelling on the headlines only by Tablizer (Score:1) Tuesday January 09 2001, @10:32AM
  • Real world objects, procedural objects by Eric Green (Score:2) Tuesday January 09 2001, @11:34AM
  • Re:OOP...in BASIC? by cr0sh (Score:2) Tuesday January 09 2001, @01:30PM
  • A crank and a troll. by StrawberryFrog (Score:1) Tuesday January 09 2001, @11:34AM
  • Re:A cop-out? by pjrc (Score:2) Tuesday January 09 2001, @10:32AM
  • Why is this troll story even posted? by Fly (Score:1) Tuesday January 09 2001, @10:35AM
  • Re:"Object-oriented" languages by elflord (Score:1) Tuesday January 09 2001, @11:35AM
  • OOP is a tool, not a philosophy by Have Blue (Score:1) Tuesday January 09 2001, @07:47AM
  • The King of Argument By Authority (Addison) by Tablizer (Score:1) Tuesday January 09 2001, @10:36AM
  • Been there, done that... by KagakuNinja (Score:1) Tuesday January 09 2001, @10:37AM
  • delaying gratification (hacking, not spanking) by Sebastopol (Score:2) Tuesday January 09 2001, @10:38AM
  • Re:Huh? by Malc (Score:1) Tuesday January 09 2001, @07:49AM
  • Re:Another reason ... by kaisyain (Score:2) Tuesday January 09 2001, @10:39AM
  • Re:reusability... by TulioSerpio (Score:1) Tuesday January 09 2001, @07:49AM
  • Re:reusability... by Chokolad (Score:1) Tuesday January 09 2001, @07:49AM
  • Re: Burden of Proof (cheese racing) by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @03:45PM
  • implementation versus protocol by Tablizer (Score:1) Tuesday January 09 2001, @03:48PM
  • Re:common misconception by David Gould (Score:2) Tuesday January 09 2001, @01:31PM
  • Re:common misconception by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @01:32PM
  • Re:python by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @03:53PM
  • word games by Tablizer (Score:1) Tuesday January 09 2001, @01:33PM
  • If he had spend the time learning OO ... by angel'o'sphere (Score:1) Tuesday January 09 2001, @01:35PM
  • show me wrong by Tablizer (Score:1) Tuesday January 09 2001, @11:37AM
  • What are you talking about? by Tablizer (Score:1) Tuesday January 09 2001, @03:53PM
  • The reason why this article doesn't cut it by esap (Score:1) Tuesday January 09 2001, @01:36PM
  • Re:"Object-oriented" languages by impaler (Score:1) Tuesday January 09 2001, @03:55PM
  • Here we see another Bryce technique by malraux (Score:1) Tuesday January 09 2001, @11:38AM
  • Re:common misconception by SpinyNorman (Score:1) Tuesday January 09 2001, @11:38AM
  • Re:OOP...in BASIC? by cr0sh (Score:2) Tuesday January 09 2001, @01:37PM
  • Re:Rebutting a couple points by scrytch (Score:2) Tuesday January 09 2001, @03:55PM
  • by Adam Wiggins (349) on Tuesday January 09 2001, @10:39AM (#520896) Homepage
    I fought it for many years, and finally gave in. Now I wonder how I ever got by without it.

    There are applications - small ones - for which OOP is not appropriate. Code which generates web pages, for example, is generately best written in a procedural language. The vast majority of applications, however, are easier to extend and maintain (although not necessarily write, at least until you've been doing it for quite a while) if written with OO.

    And of course, you don't need an OO language to use OO. The Linux kernel is very OO, and it's written in C.

    FWIW, the examples given in this article are terrible. Not only are they not very relevant, but they are badly written. If someone I was working with wrote OO code like that, I'd seriously question their ability as a programmer.
  • no it doesnt stink by c0rr0ded (Score:1) Tuesday January 09 2001, @03:55PM
  • I like OOP for one very good reason. by Kupek (Score:1) Tuesday January 09 2001, @10:39AM
  • Re:the key phrase is: properly implemented by HiyaPower (Score:2) Tuesday January 09 2001, @11:41AM
  • Re:common misconception by cyber-vandal (Score:2) Tuesday January 09 2001, @01:39PM
  • Unfortunately... by malraux (Score:1) Tuesday January 09 2001, @10:41AM
  • OOP is about making Turing machines visible by mstone (Score:1) Tuesday January 09 2001, @11:41AM
  • Betcha I can match it by Tablizer (Score:1) Tuesday January 09 2001, @01:43PM
  • "You won't need it" by Julian Morrison (Score:1) Tuesday January 09 2001, @11:41AM
  • by BlackStar (106064) on Tuesday January 09 2001, @01:43PM (#520905) Homepage
    I roundly disagree with the arguments presented against OOP, on the basis that the author's own references cite the advantages of it, as well as the disadvantages. The consensus on the reference *academic paper* is that it had advantages, but is not necessarily "revolutionary". Indeed, OOP codifies much of what *can* be done with good programming practice in procedural or even functional programming.

    My experience in systems design is that OOP shows benefit when you know it, and with larger *REAL* systems. Networked apps, distributed apps, and yes, even large business apps. I've been involved in an IS project written completely in C, using good, structured programming techniques. At a different company, we were building a similar application, using C but applying a more data-centric approach, close to OOP but not there yet. It was much quicker to build, and easier to enhance. If I took a crack at the domain yet again with OOP and C++/Java, I know it could be improved yet again.

    The issue though, is that if it's one guy, building a one-shot fire and forget app, don't bother. Code it however you want. If you have a significant project with multiple team members, OOP acts as a common framework and a basis for communication. It draws some borders and sets some guidelines and methods to give a common frame of reference. It's possible, but more difficult to do that with procedural code in *most* cases.

    Obviously though, the proof, as the author says, is in the pudding. Millions upon millions of development dollars is OBVIOUSLY being wasted by the industry as it moves to use OOP methodologies and tools. Not just as dictated by PHBs, but also as dictated in start-ups by lead programmers.

    Quote from a pundit who knows the industry better than most of us, Robert Cringely, from a slashdot interview no less:

    Something else that has changed a lot is how software is written. OOP has paid off more than we even know, so there are a lot of chances to make businesses out of selling cogs that fit into other people's machines. Your driver question, for example, wouldn't have even made sense a decade ago.

    Hmm. More than one company now. There's a benefit. Predefined interfaces and component technologies. Can you do that in procedural approaches, yes. Is it easier and more natural and efficient in OOP, yes.

    And finally, as I don't want to get too long, let's take another /. post, a reply from John Carmack.

    First of all, the fact that none of our deployed games used OOP does not mean that I don't think there are benefits to it. In the early days, there were portability, performance, and bloat problems with it, so we never chose to deploy with it. However, all of the tools for DOOM and Quake were developed in Obejctive-C on NEXTSTEP. Q3 also came fairly close to have a JVM instead of the QVM interpreter, but it didn't quite fit my needs. I'm still not a huge C++ fan, but anyone that will flat out deny the benefits of OOP for some specific classes of problems like UI programming and some game logic is bordering on being a luddite. I still don't think it is beneficial everywhere, but, if anything, I think we are behind the curve on making the transition.

    Hmm. Use the best fitting tool. But even a die-hard success phenomenon like John Carmack seems to think OOP is good for things link UI AND game logic. Not everywhere. No argument from me.

    Jeez, I think he essentially can be construed as having called the author of the original post a luddite.

    I tend to agree.

  • Re:OOP...in BASIC? by Daniel (Score:2) Tuesday January 09 2001, @10:43AM
  • Implementation and interface by Eric Green (Score:2) Tuesday January 09 2001, @11:42AM
  • GIGO by Tablizer (Score:1) Tuesday January 09 2001, @11:43AM
  • Troll Article by AShuvalov (Score:1) Tuesday January 09 2001, @10:44AM
  • Re:Poor criticism by Lord Omlette (Score:1) Tuesday January 09 2001, @11:44AM
  • Then that will be immediately obvious to others. by addison (Score:1) Tuesday January 09 2001, @10:44AM
  • Choices Damaged By OO Hype by Tablizer (Score:1) Tuesday January 09 2001, @10:45AM
  • That is a shop-specific convention, not OOP by Tablizer (Score:1) Tuesday January 09 2001, @04:07PM
  • Re:common misconception by Graspee_Leemoor (Score:1) Tuesday January 09 2001, @01:44PM
  • Re:insults != wrong by pjrc (Score:2) Tuesday January 09 2001, @04:10PM
  • Failure to Understand by smack.addict (Score:2) Tuesday January 09 2001, @04:13PM
  • A wise man I knwo said.... by catseye_95051 (Score:2) Tuesday January 09 2001, @01:44PM
(1) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10