|
|
On 8/14/2012 1:40, Invisible wrote:
> So if a class tries to implement both interfaces, it can't provide different
> implementations for these two distinct methods merely because their names
> clash?
That depends on your language. Java? I don't think so. C#? Definitely. But
then you can't invoke the interface call without specifying which one you
mean, so there's no ambiguity.
> According to the Great Language Shootout, C# Mono is 3x slower than C. (Then
> again, Haskell is 2x slower...)
So, an open source clone is slow, thus the version Microsoft uses that
compiles down to optimized native code must be also?
>>> Arguably you could have the compiler detect where dynamic binding is
>>> and is
>>> not needed. That requires whole-program analysis, however.
>>
>> That's what Eiffel does.
>
> Sure. Because Eiffel doesn't support dynamic linking.
Yep. That's what (for example) Sing# does too.
>> Sure there is, because you recompile the code while it's running.
> That sounds remarkably hard to get right...
No harder than compiling it in the first place while it's running. Why is it
harder to re-JIT than to JIT?
--
Darren New, San Diego CA, USA (PST)
"Oh no! We're out of code juice!"
"Don't panic. There's beans and filters
in the cabinet."
Post a reply to this message
|
|