Importance of C# (was Re: IronPython-0.6 is now available!)
grv575 at hotmail.com
Tue Aug 10 07:56:55 CEST 2004
Christophe Cavalaria <chris.cavalaria at free.fr> wrote in message news:<41155c78$0$4348$626a14ce at news.free.fr>...
> ziller wrote:
> >> After reading a tutorial on c#, I see immediately that it has all the
> >> features that I disliked in Java.
> >> 1) Everything is derived from "Object"
> > Pure OO is supposed to be an advantage. Otherwise casting hacks have
> > to be used and understood.
> With real generics you don't need casting hack.
Ok then how do you get all classes to have some universal behaviors
(like getType() or whatever) otherwise?
> >> 3) No multiple inheritance
> > This has been covered to death. MI implementation is a nightmare.
> > I'm sure some design pattern would map any 'needed' MI solution to an
> > equivalent one using interfaces and SI.
> We have MI in Python and it works somewhat. And I'm sure SI isn't needed
> anyway. There must be some design patter mapping SI in assembler or even on
> a turing machine.
If you want MI to specify that a class is both A and B...then which
semantics (method implementation) should it use if A and B have
different implementations of a certain method? Don't you really just
want to specify the class is A and is B to the extent that it
implements the interface of A and the interface of B? Really MI
causes more issues and confusion than it solves.
Also isn't C++ just syntactic sugar for assembler?
> >> I'm not sure about 2 others:
> >> 4) No serious generic programming support
> > It'll be there for 2.0. And the implementation is superb (much like
> > Eiffel's generics)
> They aren't out yet and people are already complaining that they are too
> limited. So far, despite an horrible syntax and horrible error messages the
> C++ templates are still much more powerful than C# generics. And the best
> thing is that the constraint system you can find on boost.org for C++
> templates is more powerful than the one you have in Eiffel either :D
The jury is still out as well.
More information about the Python-list