On 2013-08-19 22:18, Ramon wrote:

An added major plus is D's bluntly straight interface to C. And a vital
one, too, because let's face it, not being one of the major players in
languages basically means to either not have a whole lot of major and
important libraries or else to (usually painfully) bind them. D offers
an excellent solution and gives me the peace of mind to not paranoically
care about *every* important library coming with it.

You can use this tool to automatically generate bindings to C libraries:

https://github.com/jacob-carlborg/dstep

Criticism:

OK, I'm biased and spoiled by Eiffel but not having multiple inheritance
is a major minus with me. D seems to compensate quite nicely by
supporting interfaces. But: I'd like more documentation on that. "Go and
read at wikipedia" just doesn't cut it. Please, kindly, work on some
extensive documentation on that.

You can get quite close with interfaces and templates:

interface Foo
{
    void foo ();
}

template FooTrait
{
    void foo (); { writeln("foo"); }
}

class A : Foo
{
    mixin FooTrait;
}

class B
{
    void b () { }
}

class Bar : B, Foo
{
    mixin FooTrait;
}

--
/Jacob Carlborg

Reply via email to