[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Crippled Products and the IE Question





On Thu, 22 Jan 1998, Scott K. McGrath wrote:

> Tod; Actually, it's a good idea and practiced rather widely.  Why?  Because
> you make a module take a certain input, expecting it to give you a certain
> result.  This way it can be called by multiple apps without having to
> re-invent the wheel each time you need a similar function.  It's like

You're talking about reusability.  Reusability is a good thing.  However, 
it can be implemented in a good way and a bad way -- just like everything 
else.

One way to improve reusability is by applying the concepts of 
loose-coupling and abstraction.  Creating too much dependence of one module A
by another module B encourages irrelevant concepts of A (in B's view) 
to begin to creep into B.  (For example, concepts of browsers appearing 
in low-level OS code.)

OOP also tackles reusability by using polymorphism to allow an 
abstraction/interface to define the contract between two 
modules so that module B could talk to module C instead of module A 
assuming that A and C implement the same interface.  (If the interface 
was a browser, this would mean that B could use either A (IE) or C 
(Navigator).  It appears that Microsoft's stuff is not exploiting 
polymorphism but is rather tightly fusing the OS to IE.  Although 
DCOM/COM does support the concept of interfaces.)

Of course, there's also the matter that the "glue" being used to tie all 
these components together (COM) is also Microsoft-specific rather than 
something open like CORBA.

I'm not saying that Microsoft's programmers aren't intelligent -- I think 
they know full well the tying that they are doing and are doing it 
intentionally, not as some ignorant accident.

> taking OOP to another level beyond where it currently is...

OOP as it is currently practiced has notions of inheritence, polymorphism, 
encapsulation, and so on, that encourages reusability.  Microsoft is not 
taking OOP to another level by tying their browser to their OS.

> > Tod Landis <landis@cruzio.com> writes:
> > > Incidentally, making modules so dependent on one another, the way
> > > that Microsoft does, is a bad practice.