[Kde-bindings] Qyoto: running on Linux

Steven Boswell II ulatekh at yahoo.com
Tue Jan 15 00:58:23 UTC 2013


>I've taken a look at your patch and it seems OK.  But there are many
>changes and I wanted to think on it a little longer, to see if it's
>possible to exclude a class at a single central place.

Not a problem.  I only claim that my patch works; I doubt it's the best way to accomplish the goal.  Until then, I can use my patch locally.

>I returned the dependency on .NET 4 two months ago.  I needed that for
>the default values of parameters.

Default values for parameters are just syntactic sugar.  For example, you can implement
    void someMethod (int a, int b = 5, int c = 10)
    {
    }
with
    void someMethod (int a)
    {
        someMethod (a, 5);
    }
    void someMethod (int a, int b)
    {
        someMethod (a, b, 10);
    }
    void someMethod (int a, int b, int c)
    {
    }

>You had been the only one who had had a problem with .NET 4, and as you
>hadn't shown up for a long time, I thought you had given up on Qyoto
>and I restored the .NET 4 dependency.

Surely the audience for an open-source project is more than the people you're currently conversing with...I know I try to write my code (both open-source and otherwise) with the idea of maximum compatibility and applicability.  If Qt's vision was that narrow, it wouldn't be as popular as it is.

The only reason I could be considered to "give up on Qyoto" was that I really needed it to work properly, and it didn't.  Since I started my current job, I've been trying to sell my superiors on the advantage of open source, and my failure to find a good C# binding for Qt, despite it looking promising initially, and the associated waste of company time and resources, was a big hit on my credibility, and led to going with MS WinForms instead.  "Luckily", I'm still able to use Linux at work, though I have to spend my off time fixing bugs in mono-winforms to keep it feasible.

The full story is worse than I'm letting on here, but this is the kde-bindings list, not fmylife.com .

>The C# 4.0 compiler can actually produce .NET 3.5 assemblies and I
>tried to but I could not find how to do it with the CodeDom API.

Wouldn't that be the line
    providerOptions.Add("CompilerVersion", "v4.0");
at src/main.cs:254?  I seem to remember putting "v3.5" there at one point.
FYI, Linux installs Qyoto in GAC as v2.0 assemblies.

>Of course, any help is welcome.

It all comes back to having source code that I can figure out.  The reality of having to plow through tons of undocumented source code, with no help or interest from the original author, is too distressing to be willing to do that in my off time, especially for a project that's already caused me so much professional trouble.
Also, keep in mind that the last time I went through the trouble of producing patches for Qyoto, you neglected to apply any of them.  Months after the fact, I found myself having to redo them all against the latest source code.  Then it turned out that you had never tried to make a release build.  And there's the ongoing issue of Qyoto working properly under Linux. This doesn't inspire a lot of confidence.

assemblygen seemed to be easier to figure out than the runtime part of Qyoto, so I was able to turn out a patch for that in a relatively short amount of time.  Hopefully I can keep doing that.
I can only hope my future with Qyoto is less of a debacle than my past with it.

Steven Boswell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20130114/d24f9af0/attachment.html>


More information about the Kde-bindings mailing list