On 23.11.2011 11:23, Gour wrote:
Hello!

Re-considering to use D for real-world project and must say that
we're very pleased by seeing all the progress which has happened in a
recent time...64bit DMD, gdc might be included in gcc, there are more
bindings available (we're interested abotu sqlite3), Phobos is receiving
new modules, community is alive @github...

There is still one area which needs, imho, more attention and that is
the GUI world or language bindings for different toolkits.

New web page says: "D is a lan­guage with C-like syntax and static
typ­ing. It pragmatically combines effi­ciency, control, and model­ing
power, with safety and programmer productivity." and I hope that the
word 'pragmatically' includes writing GUI apps as well (hopefully there
is still life for non-web apps) :-)

However, the world of GUI bindings is not thrilling...


I wonder whether it would help, if dmd would improve with respect to the integration of C++ object code with D. Name mangling for extern(C++) seems almost ok, and there is a not too old patch for dmd that shows usage of Qt without additional bindings:

http://d.puremagic.com/issues/show_bug.cgi?id=4620

I recently played around with C++ interfaces a bit in another context and noticed that you can interface C++ classes like this:

// test.cpp
class C
{
public:
        virtual int virtual_fun(int x);
        int nonvirtual_fun(int x);
        
        int a;
};

// test.d
extern (C++)
interface C
{
        int virtual_fun(int n);
        final int nonvirtual_fun(int n);
}

It actually needs a tiny patch on windows (nonvirtual_fun is mangled as static function). Unfortunately I did not find a way to sensibly declare member "a" in D. There is another bug that a derived class is using a wrong virtual function table offset, but that should be fixable.

Reply via email to