automated C++ binding generation.. Booost D, NO , Not us. SIMD is more important.

Zachary Lund admin at computerquip.com
Wed Jan 25 10:01:55 PST 2012


On 01/25/2012 11:41 AM, bls wrote:
> On 01/25/2012 09:07 AM, Trass3r wrote:
>>> Whats.necessary to use D in order to create C++ bindings ?
>>
>> github.com/jacob-carlborg/dstep
>
> Quote "
> DStep is a tool for converting C and Objective-C headers to D modules.
> "
> Well THAT'S nitty gritty :)
>
> C++ as well ? How ? And maybe the most imp[ortant point when ?
>
> Don't get me wrong Jacob. In case that dstep is working perfect for C++
> hallelujah.
>
> (I am nevertheless convinced that porting from XML output has several
> advantages. Multi pass code generation.
>
> Bjoern
> ---------------------------------------------------------------------
> Slightly Off Topic DWT (Keinfarbton) f.i. was born on a idea of mine.
> Frank and I have discussed the idea of using Java2XML (ANTLR based) to
> generate D code )

I'm going to be rather straight forward on my opinion and, possibly, my 
ignorance. I think C (or any language with no symbol mangling) is an 
ideal language to create a library which is usable globally in almost 
any language. I think C++ libraries are an ideal language to create a 
library which is going to be used only within the C++ community because 
of it's ill symbol mangling system. There is no "right" way to work with 
C++ in D and although there are ways to interface with C++, I do not 
think that is the ideal situation.

That being said, libraries like wxWidgets are very large and have been 
acquired over several years of hardwork by a very large group. I do not 
think that a GUI toolkit library should have to bother with networking, 
sound, and so on. Also given the "standard" library D has, I think the 
GUI library D can provide should use Phobos extensively rather than its 
own mechanisms.

I think the ideal situation is to have a native D library. Creating 
binds to a C++ library is only a temporary solution and is not ideal 
both in implementation and in usage.

I do not mind using a C library in D because of how straight forward it 
is. But simply mentioning C++ in D seems to add unneeded complexity 
which should be avoided. I think the answer to a question such as 
"What's the alternative to Qt in D?" should not be "Qt bindings" but 
maybe a library which imitates the implementation and/or interface of Qt 
UI widgets in native D.

Another problem this causes is the seemingly unneccessary time needed to 
develop such libraries. I kinda regret saying this but using a C library 
in an OOP wrapper can be optimal and easy to work with. Perhaps adding 
to GTK+ as a C library for functionality that we want would be more 
ideal than trying to mess with C++.

I personally think the SIMD feature is much more important than trying 
to mess with C++.


More information about the Digitalmars-d mailing list