Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 7

Qt-interest Archive, March 2007
D programming language bindings?


Message 1 in thread

I looked for a Qt binding to the D programming language, but found no
conclusive discussion on their mailing lists. The viewpoint of the D
developer community seems to be -- according to the ML -- to have GTK
bindings or similar, since C to D bindings already seem to exist. Does
anyone here know something more? Since I work at a (mostly) Qt only shop
(and I do like it) and wanted to evaluate D, I think some D bindings would
be pretty neat.

Arne

-- 
 [ signature omitted ] 

Message 2 in thread

Hello Arne!

D bindings would be _really_ nice, but there are none and the effort needed to 
produce such bindings would be quite great. The GTK binding in D is via the C 
binding of GTK (not OO/gtkmm) afair. D supports a "native" C calling 
interface, though no direct support for C++ exists.

P

On Friday 30 March 2007 14:06, Arne Schmitz wrote:
> I looked for a Qt binding to the D programming language, but found no
> conclusive discussion on their mailing lists. The viewpoint of the D
> developer community seems to be -- according to the ML -- to have GTK
> bindings or similar, since C to D bindings already seem to exist. Does
> anyone here know something more? Since I work at a (mostly) Qt only shop
> (and I do like it) and wanted to evaluate D, I think some D bindings would
> be pretty neat.
>
> Arne

Attachment:

Attachment: pgpAFRVXPbPzx.pgp
Description: PGP signature


Message 3 in thread

On 30.03.07 18:08:21, Petar Forai wrote:
> D bindings would be _really_ nice, but there are none and the effort needed to 
> produce such bindings would be quite great. The GTK binding in D is via the C 
> binding of GTK (not OO/gtkmm) afair. D supports a "native" C calling 
> interface, though no direct support for C++ exists.

Well, the Python bindings use plain C too for the binding code, that
works pretty well. Of course for those its easier because Phil Thompson
wrote sip - a binding generator to create Python bindings for C++ code.
But still, if you can come up with such a tool the binding is not that
hard anymore (AFAIK the Ruby bindings are done with a similar framework)

Andreas

-- 
 [ signature omitted ] 

Message 4 in thread

On Friday 30 March 2007, Andreas Pakulat wrote:
> On 30.03.07 18:08:21, Petar Forai wrote:
> > D bindings would be _really_ nice, but there are none and the effort
> > needed to produce such bindings would be quite great. The GTK binding in
> > D is via the C binding of GTK (not OO/gtkmm) afair. D supports a "native"
> > C calling interface, though no direct support for C++ exists.
>
> Well, the Python bindings use plain C too for the binding code, that
> works pretty well. Of course for those its easier because Phil Thompson
> wrote sip - a binding generator to create Python bindings for C++ code.
> But still, if you can come up with such a tool the binding is not that
> hard anymore (AFAIK the Ruby bindings are done with a similar framework)
Bindings are very hard, and there is a lot of work to do even once you written 
a generator like SIP. The runtime issues you have to solve are more difficult 
than it first appears. The less dynamic a language is, the harder it is to do 
the runtime, and from what I've read D doesn't have anything much in the way 
of a dynamic runtime.

I don't know of any languages that allow you to call C++ directly because 
there is no standard system for C++ name mangling, and I don't think it's 
possible. The ruby bindings use a language independent dynamic runtime 
library called 'smoke' with a simple C interface. Smoke is also used by 
PerlQt, Qyoto (C#) and a binding for PHP. So it could be used for D, but 
would certainly still be a non-trivial amount of work, and I wonder if the 
likely size of the user community for D would justify another binding in 
addition to the GTK one. You would still need to generate a huge amount of D 
code that would invoke the Qt methods in the Smoke library.

-- Richard

--
 [ signature omitted ] 

Message 5 in thread

On Friday 30 March 2007 14:06:08 Richard Dale wrote:
> On Friday 30 March 2007, Andreas Pakulat wrote:
> > On 30.03.07 18:08:21, Petar Forai wrote:
> > > D bindings would be _really_ nice, but there are none and the effort
> > > needed to produce such bindings would be quite great. The GTK binding
> > > in D is via the C binding of GTK (not OO/gtkmm) afair. D supports a
> > > "native" C calling interface, though no direct support for C++ exists.
> >
> > Well, the Python bindings use plain C too for the binding code, that
> > works pretty well. Of course for those its easier because Phil Thompson
> > wrote sip - a binding generator to create Python bindings for C++ code.
> > But still, if you can come up with such a tool the binding is not that
> > hard anymore (AFAIK the Ruby bindings are done with a similar framework)
>
> Bindings are very hard, and there is a lot of work to do even once you
> written a generator like SIP. The runtime issues you have to solve are more
> difficult than it first appears. The less dynamic a language is, the harder
> it is to do the runtime, and from what I've read D doesn't have anything
> much in the way of a dynamic runtime.
>
> I don't know of any languages that allow you to call C++ directly because
> there is no standard system for C++ name mangling, and I don't think it's
> possible. The ruby bindings use a language independent dynamic runtime
> library called 'smoke' with a simple C interface. Smoke is also used by
> PerlQt, Qyoto (C#) and a binding for PHP. So it could be used for D, but
> would certainly still be a non-trivial amount of work, and I wonder if the
> likely size of the user community for D would justify another binding in
> addition to the GTK one. You would still need to generate a huge amount of
> D code that would invoke the Qt methods in the Smoke library.
>
> -- Richard
the only one I know is Objective C++
Mathieu



-- 
 [ signature omitted ]