[Mono-list] Re: Is Objective-C support possible?

Martin Coxall coxall@cream.org
18 Feb 2002 11:53:54 +0000

> Also please keep in mind that there is no One True Way with regard to OO, which means subtly different things in different languages, which is why what Java makes of OO might be different than what Ruby or Objective-C do.

Whether you like it or not, ther is a "One True Way" here- the CLR way.
It's not religion, it's the runtime you're working with. It has already
been established that Multiple Inheritance was not allowed in the CLR
because of the problems of diamond inheritance and over-complex
instantiation rules, and also that mixin functionality can be achieved
using the decorator pattern.

The Gang of Four book goes into elaborate detail for all of this. As far
as most OO programmers are concerned, it *is* the recieved wisdom on OO
programming and I will certainly continue to treat it as such.

In any case, since IL is Turing complete, all these arguments about
"will it be possible to compile language foo to foo.net?" are quite
pointless. The answer is yes. Where IL's design rigidly supports GoF
design constraints, you'll just have to be creative and make judicious
use of design patterns. Where you want dynamic typing, you'll just have
to use code generation via reflection.