Microsoft's C# (Sharp) & .NET -- A Heads Up

Mark Hammond MarkH at ActiveState.com
Wed Jul 26 07:26:04 EDT 2000


"David Arnold" <arnold at dstc.monash.edu.au> wrote in message
news:200007260357.NAA28707 at xevious.dstc.monash.edu.au...
> -->"Alex" == Alex Martelli <alex at magenta.com> writes:
>
>   Alex> since IL does not support multiple inheritance of
>   Alex> implementation, which full Eiffel wants; dunno what Python
>   Alex> .NET will do about that).
>
> urk!  is that true?  mark?  is this an issue for Python/IL ?

Yes, and yes.

Not a huge problem for Python - just a "to be implemented" :-)  Python
defines very dynamic semantics, meaning we can fake this.

For example, multiple inheritance when used from Python will work just
fine - but if you look at this Python class using the .NET disassembler
(for example), it will not be apparent that this MI exists - the compiler
will simply generate the code to populate the __bases__ attribute of the
class, but the actual attribute lookups will still be done at runtime.
However, I believe that raw benchmark figures will keep pressure on the
Python port having the necessary tricks to take full advantage of the
platform when necessary.

Neil's previous post about the homogenisation of the languages is pretty
close to the truth - except that this is as much a time and effort issue
as a requirement forced by the platform.  The Eiffel and Python efforts
are both putting the existing language semantics over new .NET features,
but the pressure of getting working code out means we are willing to make
short-term compromises to get a reasonable 80% solution.  It has been a
moving target, and anyone expecting to find a fully functional
implementation of _any_ non-MS language is going to be disappointed.
Fortunately, we appear to have a reasonable amount of time before this is
actually released, so it is still very much early days.

Mark.






More information about the Python-list mailing list