is D ncurses-only language?

Rainer Schuetze r.sagitario at gmx.de
Wed Nov 23 10:53:16 PST 2011



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.



More information about the Digitalmars-d mailing list