Re: Entity and Identity
Date: Wed, 22 Jul 2009 04:39:26 -0700 (PDT)
On Jul 22, 5:15 am, "Walter Mitty" <wami..._at_verizon.net> wrote:
> "David BL" <davi..._at_iinet.net.au> wrote in message
> > I have no idea why an OO programmer would want to pretend that
> > employees, companies, departments, teachers or courses are state
> > machines running on their computer! It's a ridiculous suggestion.
> And yet it happens over and over again. We've seen dozens of cases of OO
> programmers in here trying to do exactly that.
> If you look around the web, the cases multiply into the hundreds. And not
> all of those people are morons.
> Again, the article on "the Vitenam of Computer Science" does a better job
> than I can at motivating why an OO programmer
> would want to model his subject matter in terms of objects.
OO programmers do it because that is what they were trained to do. Take a look at http://java.sun.com/docs/books/tutorial/java/concepts/object.html. It sounds great, like playing with Lego and being able to design your own pieces. All the big language vendors are offering it, so they think it's a proven technology.
OO is broken, and most programmers don't see it. Encapsulation is fine, but inheritance breaks it. Inheritance could work, but overriding can break any promises made by the original code. Single inheritance (due to the diamond problem created by overriding) forces ideas into unnatural and limited hierarchies and restrict modularity. Mutable objects and overriding destroy any hope of subtyping and polymorphism. Design patterns and frameworks add so much code that any possible benefit is negated a thousand times over.
Other paradigms seem difficult and artificial, since they force one to do things in a certain, logical way. OO is an easy, slippery slide into the bowels of hell. Received on Wed Jul 22 2009 - 13:39:26 CEST