[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bindings
Subject:    Re: [Kde-bindings] Qt & SWIG
From:       Alex Mizuki <alex.mizuki () gmail ! com>
Date:       2013-07-24 21:34:19
Message-ID: CADBDqw=FV5jOU9MJM=vve9bxkqP8XE6HDbN1uy2q3GLGGLp1Yg () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Looks like Xamarin has just publicly released the work they have been doing
for the past 6 months surrounding C++ interop to replace Cxxi.  It was just
announced at MonkeySpace conference.  Based on github commits, it looks
like it has been very actively developed by someone dedicated full-time to
this effort.

Miguel's MonkeySpace presentation describing CppSharp:

http://www.slideshare.net/migueldeicaza/monkey-space-2013


github repo:

https://github.com/tritao/CppSharp


On Fri, Jul 12, 2013 at 2:55 PM, Dimitar Dobrev <dpldobrev@yahoo.com> wrote:

>
>     Thank you for your suggestion. However, Qt-Jambi (http://qt-jambi.org/)
> looks abandoned. There already was an attempt to use it through IKVM here -
> http://code.google.com/p/qt4dotnet/ - also abandoned. Even if one were to
> revive it, its dependency on the seemingly dead Qt-Jambi kills any future
> it might have. Besides, I believe performance would be worse than with a
> SWIG-based solution.
>
>     Regards,
>     Dimitar
>
>   ------------------------------
>  *From:* james <james@mansionfamily.plus.com>
> *To:* Dimitar Dobrev <dpldobrev@yahoo.com>; KDE bindings for other
> programming languages <kde-bindings@kde.org>
> *Sent:* Friday, July 12, 2013 9:32 PM
>
> *Subject:* Re: [Kde-bindings] Qt & SWIG
>
>  What is Qt-Jambi doing, or are they in difficulty too?
>
> Qt seems to shed bindings like they are going out of fashion.
>
> I can imagine that's no problem for Phil with PySide, bit perhaps a little
> less NIH elsewhere would work.
>
> I mean - maybe the Qt-Jambi system could be extended?  Even if it means
> going through IKVM?
>
> Or maybe the PySide stuff could be reused - even if the glue is IronPython?
>
> James
>
>
> On 12/07/2013 13:41, Dimitar Dobrev wrote:
>
>
>      Hello, Ruth,
>
>      Glad to hear from you again. I am sorry Qyoto didn't work out for
> you but I do agree SWIG would be a better solution, with better
> performance indeed. I'll try to find free time to work on it as soon as
> possible. However, I cannot make any promise yet.
>
>      Best regards,
>     Dimitar
>
>   ------------------------------
>  *From:* Ruth Ivimey-Cook <ruth@ivimey.org> <ruth@ivimey.org>
> *To:* kde-bindings@kde.org
> *Sent:* Friday, July 12, 2013 2:41 PM
> *Subject:* Re: [Kde-bindings] Qt & SWIG
>
>  Dimitar and others,
>
> I evaluated using Qyoto for a project I'm working on and - with regret for
> all the hard work Dimitar had obviously put in - decided against it, both
> because it was buggy and because it was very slow. When I investigated the
> speed issue SMOKE relies on textual matching of function signatures to call
> functions. Admittedly the hashes, once matched, are hashed and cached, but
> still...   It also involved at least 2 transitions from managed to
> unmanaged code, which IIRC are expensive in themselves.
>
> People I know have used SWIG to good effect but I have no personal
> experience.
>
> A statically linked shim file (not a DLL, if possible) - i.e. a set of
> functions coded in managed code that each make an unmanaged call to the
> "real" function would be the way I would expect. Coding this by hand would
> be painful, so a program to generate them is the obvious response. I
> believe this is the SWIG way.
>
> If it were possible I would look into using something like an XML file
> containing the interface definition, maybe itself initially generated from
> the .h files, and which can then be adapted and enhanced to improve it. If
> the Qt and/or SWIG community were receptive this might become something
> people would support generally - e.g. including PyQt et al. - which would
> benefit everyone.
>
> HTH
> Ruth
>
>
> Dimitar Dobrev wrote:
>
>
>     Dylan,
>
>     Thank you for your suggestion. I know about CXXI but it wouldn't be
> my choice for the following reasons:
>     1. It is both incomplete and abandoned;
>     2. It relies on Reflection.Emit which is not supported on iOS; Qt will
> soon officially run on iOS and it'd be nice if the bindings worked on
> that platform too.
>
>     Regards,
>     Dimitar
>
>   ------------------------------
>  *From:* "Moonfire, D." <d.moonfire@mfgames.com> <d.moonfire@mfgames.com>
> *To:* KDE bindings for other programming languages <kde-bindings@kde.org><kde-bindings@kde.org>
> *Sent:* Thursday, July 11, 2013 9:06 PM
> *Subject:* Re: [Kde-bindings] Qt & SWIG
>
>  On Thu, Jul 11, 2013 at 10:25 AM, Gour <gour@atmarama.net> wrote:
>
> On Thu, 11 Jul 2013 06:31:43 -0700 (PDT)
> Dimitar Dobrev <dpldobrev@yahoo.com> wrote:
>
> > 3. I don't want to have anything to do with SMOKE any more so if you'd
> > like to take this path, you'd be on your own.
>
> Isn't it pity that there is no more interest in having Qt bindings for
> the .NET/Mono? :-(
>
>
> There was an announcement some years back on one of the Mono blogs about
> an interop layer for C++ (https://github.com/mono/cxxi). It was never
> mentioned again and I think a grue ate it, but it looked like a really nice
> set of libraries if someone maintained it beyond the initial proof of
> concept. I also don't know how tightly it is tied to Mono itself and if a
> cross-platform version could be done with it.
>
> Looking at the code, they were also using Qt as the example in their POC.
>
> - Dylan
>
> _______________________________________________
> Kde-bindings mailing list
> Kde-bindings@kde.org
> https://mail.kde.org/mailman/listinfo/kde-bindings
>
>
>
>
> _______________________________________________
> Kde-bindings mailing listKde-bindings@kde.orghttps://mail.kde.org/mailman/listinfo/kde-bindings
>
>
>
> --
> Software Manager & Engineer
> Tel: 01223 414180
> Blog: http://www.ivimey.org/blog
> LinkedIn: http://uk.linkedin.com/in/ruthivimeycook/
>
>
> _______________________________________________
> Kde-bindings mailing list
> Kde-bindings@kde.org
> https://mail.kde.org/mailman/listinfo/kde-bindings
>
>
>
>
>  _______________________________________________
> Kde-bindings mailing listKde-bindings@kde.orghttps://mail.kde.org/mailman/listinfo/kde-bindings
>
>
>
>
>
> _______________________________________________
> Kde-bindings mailing list
> Kde-bindings@kde.org
> https://mail.kde.org/mailman/listinfo/kde-bindings
>
>

[Attachment #5 (text/html)]

<div dir="ltr"><div>Looks like Xamarin has just publicly released the work they have \
been doing for the past 6 months surrounding C++ interop to replace Cxxi.  It was \
just announced at MonkeySpace conference.  Based on github commits, it looks like it \
has been very actively developed by someone dedicated full-time to this effort.</div> \
<div><br></div><div>Miguel&#39;s MonkeySpace presentation describing \
CppSharp:</div><br><div><a \
href="http://www.slideshare.net/migueldeicaza/monkey-space-2013">http://www.slideshare.net/migueldeicaza/monkey-space-2013</a><br>
 </div><div><br></div><div><br></div><div>github repo:</div><div><br></div><div><a \
href="https://github.com/tritao/CppSharp">https://github.com/tritao/CppSharp</a><br></div><div \
class="gmail_extra"><br><br><div class="gmail_quote"> On Fri, Jul 12, 2013 at 2:55 \
PM, Dimitar Dobrev <span dir="ltr">&lt;<a href="mailto:dpldobrev@yahoo.com" \
target="_blank">dpldobrev@yahoo.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> <div><div style="font-size:12pt;font-family:times new \
roman,new york,times,serif"><br><div><span>    Thank you for your suggestion. \
However, Qt-Jambi</span> (<a href="http://qt-jambi.org/" \
target="_blank">http://qt-jambi.org/</a>) looks abandoned. There already was an \
attempt to use it through IKVM here - <a href="http://code.google.com/p/qt4dotnet/" \
target="_blank">http://code.google.com/p/qt4dotnet/</a> - also abandoned. Even if one \
were to revive it, its dependency on the seemingly dead Qt-Jambi kills any future it \
might have. Besides, I believe performance would be worse than with a SWIG-based \
solution.</div> <div><br></div><div \
style="font-style:normal;font-size:16px;background-color:transparent;font-family:times \
new roman,new york,times,serif"><span>    Regards,</span></div><div \
style="font-style:normal;font-size:16px;background-color:transparent;font-family:times \
new roman,new york,times,serif"> <span>    Dimitar</span><span><br></span></div><div \
class="hm HOEnZb"><div><br></div>  </div><div style="font-family:times new roman,new \
york,times,serif;font-size:12pt"><div class="hm HOEnZb"> </div><div \
style="font-family:times new roman,new york,times,serif;font-size:12pt"> <div \
class="hm HOEnZb"> </div><div dir="ltr"><div class="hm HOEnZb"> <hr size="1">  \
</div><font face="Arial"><div class="hm HOEnZb"> <b><span \
style="font-weight:bold">From:</span></b> james &lt;<a \
href="mailto:james@mansionfamily.plus.com" \
target="_blank">james@mansionfamily.plus.com</a>&gt;<br>  <b><span \
style="font-weight:bold">To:</span></b> Dimitar Dobrev &lt;<a \
href="mailto:dpldobrev@yahoo.com" target="_blank">dpldobrev@yahoo.com</a>&gt;; KDE \
bindings for other programming languages &lt;<a href="mailto:kde-bindings@kde.org" \
target="_blank">kde-bindings@kde.org</a>&gt; <br>  <b><span \
style="font-weight:bold">Sent:</span></b> Friday, July 12, 2013 9:32 \
PM</div><div><div class="h5"><br> <b><span \
style="font-weight:bold">Subject:</span></b> Re: [Kde-bindings] Qt &amp; SWIG<br> \
</div></div></font> </div> <div><div class="h5"> <div><br><div>
  

    
  
  <div>
    <div>What is Qt-Jambi doing, or are they in
      difficulty too?<br>
      <br>
      Qt seems to shed bindings like they are going out of fashion.<br>
      <br>
      I can imagine that&#39;s no problem for Phil with PySide, bit perhaps
      a little less NIH elsewhere would work.<br>
      <br>
      I mean - maybe the Qt-Jambi system could be extended?  Even if it
      means going through IKVM?<br>
      <br>
      Or maybe the PySide stuff could be reused - even if the glue is
      IronPython?<br>
      <br>
      James<br>
      <br>
      <br>
      On 12/07/2013 13:41, Dimitar Dobrev wrote:<br>
    </div>
    <blockquote type="cite">
      <div lang="x-western">
        <div style="font-size:12pt;font-family:times new roman,new york,times,serif">
          <div><br>
            <span></span></div>
          <div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times \
new roman,new york,times,serif"><span>     Hello, Ruth,</span></div>
          <div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times \
new roman,new york,times,serif"><br>  <span></span></div>
          <div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times \
new roman,new york,times,serif"><span>    Glad  to hear from you again. I am sorry \
                Qyoto didn&#39;t work out
              for you but I do agree SWIG would be a better </span><span>solution, \
with better performance indeed. I&#39;ll  try to find free time to work on it as soon \
as possible.  However, I cannot make any promise yet.</span></div>
          <div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times \
new roman,new york,times,serif"><br>  <span></span></div>
          <div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times \
new roman,new york,times,serif"><span>    Best  regards,</span></div>
          <div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times \
new roman,new york,times,serif"><span>     Dimitar</span><span><br>
            </span></div>
          <div><br>
          </div>
          <div style="font-family:times new roman,new \
                york,times,serif;font-size:12pt">
            <div style="font-family:times new roman,new \
york,times,serif;font-size:12pt">  <div dir="ltr">
                <hr size="1"> <font face="Arial"> <b><span \
                style="font-weight:bold">From:</span></b> Ruth
                  Ivimey-Cook <a rel="nofollow" href="mailto:ruth@ivimey.org" \
target="_blank">&lt;ruth@ivimey.org&gt;</a><br>  <b><span \
                style="font-weight:bold">To:</span></b>
                  <a rel="nofollow" href="mailto:kde-bindings@kde.org" \
target="_blank">kde-bindings@kde.org</a> <br>  <b><span \
style="font-weight:bold">Sent:</span></b>  Friday, July 12, 2013 2:41 PM<br>
                  <b><span style="font-weight:bold">Subject:</span></b>
                  Re: [Kde-bindings] Qt &amp; SWIG<br>
                </font> </div>
              <div><br>
                <div>
                  <div>
                    <div>Dimitar
                      and others,<br>
                      <br>
                      I evaluated using Qyoto for a project I&#39;m working
                      on and - with regret for all the hard work Dimitar
                      had obviously put in - decided against it, both
                      because it was buggy and because it was very slow.
                      When I investigated the speed issue SMOKE relies
                      on textual matching of function signatures to call
                      functions. Admittedly the hashes, once matched,
                      are hashed and cached, but still...   It also
                      involved at least 2 transitions from managed to
                      unmanaged code, which IIRC are expensive in
                      themselves. <br>
                      <br>
                      People I know have used SWIG to good effect but I
                      have no personal experience.<br>
                      <br>
                      A statically linked shim file (not a DLL, if
                      possible) - i.e. a set of functions coded in
                      managed code that each make an unmanaged call to
                      the &quot;real&quot; function would be the way I would
                      expect. Coding this by hand would be painful, so a
                      program to generate them is the obvious response.
                      I believe this is the SWIG way.<br>
                      <br>
                      If it were possible I would look into using
                      something like an XML file containing the
                      interface definition, maybe itself initially
                      generated from the .h files, and which can then be
                      adapted and enhanced to improve it. If the Qt
                      and/or SWIG community were receptive this might
                      become something people would support generally -
                      e.g. including PyQt et al. - which would benefit
                      everyone.<br>
                      <br>
                      HTH<br>
                      Ruth<br>
                      <br>
                      <br>
                      Dimitar Dobrev wrote:<br>
                    </div>
                    <blockquote type="cite">
                      <div style="font-size:12pt;font-family:times new roman,new \
york,times,serif"><span>    <br>  </span><span>    Dylan,<br>
                          <br>
                        </span><span>    </span><span>Thank you for your
                          suggestion. </span>I know about CXXI but it
                        wouldn&#39;t be my choice for the following reasons:<br>
                        <span>    1. It is both
                          incomplete and abandoned;</span><span><br>
                        </span><span>    2. It
                          relies on Reflection.Emit which is not
                          supported on iOS; Qt will soon officially run
                          on iOS and it&#39;d be nice if the bindings</span><span> \
worked on that  platform too.<br>
                          <br>
                        </span><span>   
                          Regards,<br>
                        </span><span>   
                          Dimitar</span><span>
                             </span>
                        <div><br>
                        </div>
                        <div style="font-family:times new roman,new \
                york,times,serif;font-size:12pt">
                          <div style="font-family:times new roman,new \
york,times,serif;font-size:12pt">  <div dir="ltr">
                              <hr size="1"> <font face="Arial">
                                <b><span style="font-weight:bold">From:</span></b>
                                &quot;Moonfire, D.&quot; <a rel="nofollow" \
href="mailto:d.moonfire@mfgames.com" \
                target="_blank">&lt;d.moonfire@mfgames.com&gt;</a><br>
                                <b><span style="font-weight:bold">To:</span></b>
                                KDE bindings for other programming
                                languages <a rel="nofollow" \
href="mailto:kde-bindings@kde.org" target="_blank">&lt;kde-bindings@kde.org&gt;</a>  \
                <br>
                                <b><span style="font-weight:bold">Sent:</span></b>
                                Thursday, July 11, 2013 9:06 PM<br>
                                <b><span style="font-weight:bold">Subject:</span></b>
                                Re: [Kde-bindings] Qt &amp; SWIG<br>
                              </font> </div>
                            <div><br>
                              <div>
                                <div>On
                                  Thu, Jul 11, 2013 at 10:25 AM, Gour <span \
dir="ltr">&lt;<a rel="nofollow" href="mailto:gour@atmarama.net" \
target="_blank">gour@atmarama.net</a>&gt;</span>  wrote:<br>
                                  <blockquote style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"> On Thu, 11  Jul 2013 06:31:43 \
                -0700 (PDT)<br>
                                    Dimitar Dobrev &lt;<a rel="nofollow" \
href="mailto:dpldobrev@yahoo.com" target="_blank">dpldobrev@yahoo.com</a>&gt;

                                    wrote:<br>
                                    <br>
                                    &gt; 3. I don&#39;t want to have
                                    anything to do with SMOKE any more
                                    so if you&#39;d<br>
                                    &gt; like to take this path, you&#39;d
                                    be on your own.<br>
                                    <br>
                                    Isn&#39;t it pity that there is no more
                                    interest in having Qt bindings for<br>
                                    the .NET/Mono? :-(<br>
                                  </blockquote>
                                </div>
                                <br>
                                There was an announcement some years
                                back on one of the Mono blogs about an
                                interop layer for C++ (<a rel="nofollow" \
href="https://github.com/mono/cxxi" \
target="_blank">https://github.com/mono/cxxi</a>).

                                It was never mentioned again and I think
                                a grue ate it, but it looked like a
                                really nice set of libraries if someone
                                maintained it beyond the initial proof
                                of concept. I also don&#39;t know how
                                tightly it is tied to Mono itself and if
                                a cross-platform version could be done
                                with it.<br>
                                <br>
                                Looking at the code, they were also
                                using Qt as the example in their POC.<br>
                                <br>
                                - Dylan<br>
                              </div>
                              <br>
_______________________________________________<br>
                              Kde-bindings mailing list<br>
                              <a rel="nofollow" href="mailto:Kde-bindings@kde.org" \
target="_blank">Kde-bindings@kde.org</a><br>  <a rel="nofollow" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings" \
target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br>  <br>
                              <br>
                            </div>
                          </div>
                        </div>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <br>
                      <pre>_______________________________________________
Kde-bindings mailing list
<a rel="nofollow" href="mailto:Kde-bindings@kde.org" \
target="_blank">Kde-bindings@kde.org</a> <a rel="nofollow" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings" \
target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a> </pre>
                    </blockquote>
                    <br>
                    <br>
                    <pre>-- 
Software Manager &amp; Engineer
Tel: 01223 414180
Blog: <a rel="nofollow" href="http://www.ivimey.org/blog" \
                target="_blank">http://www.ivimey.org/blog</a>
LinkedIn: <a rel="nofollow" href="http://uk.linkedin.com/in/ruthivimeycook/" \
target="_blank">http://uk.linkedin.com/in/ruthivimeycook/</a> </pre>  </div>
                </div>
                <br>
                _______________________________________________<br>
                Kde-bindings mailing list<br>
                <a rel="nofollow" href="mailto:Kde-bindings@kde.org" \
target="_blank">Kde-bindings@kde.org</a><br>  <a rel="nofollow" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings" \
target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br>  <br>
                <br>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <div style="font-family:-moz-fixed;font-size:14px" lang="x-western">
        <pre>_______________________________________________
Kde-bindings mailing list
<a rel="nofollow" href="mailto:Kde-bindings@kde.org" \
target="_blank">Kde-bindings@kde.org</a> <a rel="nofollow" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings" \
target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a> </pre>
      </div>
    </blockquote>
    <br>
  </div>

</div><br><br></div> </div></div></div> </div>  \
</div></div><br>_______________________________________________<br> Kde-bindings \
mailing list<br> <a href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-bindings" \
target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br> \
<br></blockquote></div><br></div></div>



_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic