Slow performance compared to C++, ideas?

deadalnix deadalnix at gmail.com
Wed Jun 5 17:59:47 PDT 2013


On Wednesday, 5 June 2013 at 22:50:27 UTC, Simen Kjaeraas wrote:
> On 2013-06-06, 00:32, Adam D. Ruppe wrote:
>
>> But I want to clearify this #1:
>>
>> class A { virtual void foo(); }
>> class B : A { virtual void foo(); }
>
> With C# semantics (as has been suggested as a basis):
>
> class A {
>    virtual void foo() {
>        writeln("A.foo");
>    }
> }
>
> class B : A {
>     virtual void foo() {
>         writeln("B.foo");
>     }
> }
>
> void bar() {
>     B b = new B();
>     A a = b;
>     a.foo(); // Prints "A.foo"
>     b.foo(); // Prints "B.foo"
> }

If that is true, it is fair to assume that C# designer's 
completely miss the point of OOP.

On the same path, in the previously linked document : Every time 
you say virtual in an API, you are creating a call back hook.

Which seems that OOP is limited to the observer pattern according 
to Anders Hejlsberg.

Finally since then, tooling have been introduced in C# to 
revirtualize everything. This is possible in C# because of the 
VM, but won't be possible in D.

The whole case about C# isn't very strong IMO.


More information about the Digitalmars-d mailing list