[KDE Dot News]
 faq
 flatforty
 contribute
 subscribe
 configure
 search
 rdf

 main
 parent


Java, jvm, jni
by Boudewijn Rempt on Sunday 08/Aug/2004, @08:10
"Still it would be nice to take advantage of JIT-compiled bytecode where it makes sense, and have the two worlds interoperate. Currently there are two technical options: integrating Mono and the CLR, or going for a Java Virtual Machine. Mono at present has several advantages: First, there is no free JIT-compiling JVM that is equally actively developed and it doesn't look like there will be one. Second, cooperating with Miguel and the Ximian group at Novell is probably a lot easier than cooperating with Sun. And third, it is easier to integrate native C++ code with the CLR than going through the JNI."

Miguel is so bloody good with his marketing, that he completely bamboozles evenpeople like Matthias. There is development as active as that on Mono on a free jvm, a free Java class library. You can, right now, use Java to code Qt applications, compile them to native code and _still_ have the advantage of a garbage collector that manages your memory for you. JNI is a crutch, but CNI is a great thing. GCJ, GIJ, Classpath and CNI are truly free software, and are at least as stable and useful as Mono. Dash it -- every time Miguel prances about showing off Eclipse, what he shows is ikvm and classpath.

Free java on the desktop is ready _now_ -- or at least, more ready than Mono. The only reason people don't know about it is that a) you don't need it if you have Qt and C++ (Java is nicer, but the difference isn't killing. C++ and Qt together is easy and productive enough) and that b) The gcj/classpath people are really bad at marketing.
  Related Links
 ·   Articles on Community and Events
 ·   Also by Boudewijn Rempt
 ·   Contact author

Thread Threshold:

The Fine Print: The following comments are owned by whomever posted them.
( Reply )

Re: Java, jvm, jni
by Anonymous on Sunday 08/Aug/2004, @09:02
Though I definitely like to work with Qt and C++ I will now have to use Java and Eclipse for my next programming job. I started using Eclipse a just a few weeks ago and I have to say that it indeed has a few very nice features. The only thing that is annoying me is the it looks ugly and feels slow and kind of alien in an KDE environment. I think that this is mainly the result of using of using GTK as underlying toolkit for Eclipse. So my quesion is, do you know if there is effort under way to implement the SWT Interface with the Qt or KDE libraries?
[ Reply To This | View ]
  • Re: Java, jvm, jni
    by Me on Sunday 08/Aug/2004, @10:03
    Anything IBM looks ugly and feels slow. Have you ever tried any of the Visual Age or Visual Studio stuff by IBM? It's not pretty, and is slower than molasses flowing uphill in the winter.
    [ Reply To This | View ]
Re: Java, jvm, jni
by Boudewijn Rempt on Sunday 08/Aug/2004, @09:47
Not really -- Eclipse with Qt, I mean. On the other hand, Redhat has a natively compiled Eclipse 2 that is rumoured to be as snappy as any other GTK application. (Which doesn't impress me all that much, but then, my main beef with Eclipse is that I have to do a lot of work to free the editor from the surrounding blurb.)
[ Reply To This | View ]
  • Re: Java, jvm, jni
    by Anonymous on Sunday 08/Aug/2004, @10:51
    Hmm, too bad, because a Qt version of SWT would surely also be a nice way to write (simple) applications that work and look nice under KDE and Windows.

    P.S.: Thank you for your work on Krita. I'm really looking forward to have a Paint application with a sane UI under Linux. :-)
    [ Reply To This | View ]
    • Re: Java, jvm, jni
      by Richard Dale on Sunday 08/Aug/2004, @21:03
      "Hmm, too bad, because a Qt version of SWT would surely also be a nice way to write (simple) applications that work and look nice under KDE and Windows."

      IBM's CPL license isn't compatible with the GPL, so that isn't possible.

      I think the Qt api rendered via the QtJava bindings, is more complete and elegant than SWT - so why do we need SWT? The QtJava development and marketing budget is obviously a bit smaller than IBM's.
      [ Reply To This | View ]
      • Re: Java, jvm, jni
        by Luke on Monday 09/Aug/2004, @05:04
        Hi Richard,
        I'd like to write small Java application and it would be really nice to have a native looking user interface under KDE. However, it is also important that this application works under windows. Does that mean that I have to write the user interface twice, once in Swing and once in Qt Java?
        Another question is, is Qt Java still maintained and will it work with the newest KDE and Qt Versions? The readme file under http://developer.kde.org/language-bindings/java/qtjava-readme.html says something like this: "Here are Java JNI based api bindings for Qt 2.2.4."

        Thank you
        [ Reply To This | View ]
        • Re: Java, jvm, jni
          by Richard Dale on Monday 09/Aug/2004, @07:50
          "I'd like to write small Java application and it would be really nice to have a native looking user interface under KDE. However, it is also important that this application works under windows. Does that mean that I have to write the user interface twice, once in Swing and once in Qt Java?"

          I don't have a windows development environment, but as far as I know QtJava works perfectly fine with very little change on windows (and Mac OS X too). I don't really understand Qt/Windows licensing issues too well - if you distribute your small app, you might have to include the QtJava sources to comply with the GPL.

          "Another question is, is Qt Java still maintained and will it work with the newest KDE and Qt Versions? The readme file under http://developer.kde.org/language-bindings/java/qtjava-readme.html says something like this:

          Here are Java JNI based api bindings for Qt 2.2.4."

          Well developer.kde.org/language-bindings/java doesn't sound as though it is being maintained too well, but the bindings themselves are in good shape. If anyone fancies sorting out the docs on developer.kde.org/language-bindings please go ahead..
          [ Reply To This | View ]
          • Re: Java, jvm, jni
            by Luke on Monday 09/Aug/2004, @14:38
            "I don't have a windows development environment, but as far as I know QtJava works perfectly fine with very little change on windows (and Mac OS X too)."

            Wow, that sounds cool, but I guess that would have to buy a Qt Version for Windows. Still, that would be an option.

            "I don't really understand Qt/Windows licensing issues too well - if you distribute your small app, you might have to include the QtJava sources to comply with the GPL."

            With a bought version of Qt which I guess is not under GPL, do you know whether I would have to include the source of my program? I mean is the code of qtjava completely GPL or is there a way to use qtjava under the same conditions as the commercial Qt Version? If not, then you could possibly try to sell qtjava to Trolltech. This way it could stay GPL under Linux but could be boundled with Qt under a commercial license for Windows? But that's just a thought.

            Regarding SWT do you really think that there is no way to combine the CPL and the GPL in any way? Because I would think that QtJava would be a pretty solid foundation for a Qt implementation of the SWT. May be it could be done the same way as NVIDIA integrated their driver into the Linux kernel. I still think having a native looking version of Eclipse would be a real gain for the KDE environment.

            Finally, I managed to test some of the demo apps that are in the java-bindings source file ( I couldn't find them on my computer even though I had java-bindings package installed.). A problem that I had with these demos was that I had to set the LD_LIBRARY_PATH. I thought that this would not be necessary since the libqtjava.so is installed in the /opt/kde3/lib dir. But it seems it is necessary.

            Anyways, it works now very nicely and I guess I'll use it.
            Great work!
            [ Reply To This | View ]
            • Re: Java, jvm, jni
              by Richard Dale on Monday 09/Aug/2004, @21:14
              " I mean is the code of qtjava completely GPL or is there a way to use qtjava under the same conditions as the commercial Qt Version? If not, then you could possibly try to sell qtjava to Trolltech. This way it could stay GPL under Linux but could be boundled with Qt under a commercial license for Windows? But that's just a thought."

              If there was sufficient demand for a commercial version of QtJava I would happy to dual license it (with Trolltech's permission as normally you can't change from the GPL version of some Qt software to issue a commercial version). But there hasn't been any real demand so far..
              [ Reply To This | View ]
      • Re: Java, jvm, jni
        by Kevin Krammer on Monday 09/Aug/2004, @13:59
        "IBM's CPL license isn't compatible with the GPL, so that isn't possible. "

        I always wondered why there was such a hype about SWT when its licence makes it impossible to use it in GPL applications.

        Anyway, does anyone know if CPL is also incompatible with QPL?

        Cheers,
        Kevin
        [ Reply To This | View ]
Re: Java, jvm, jni
by Miguel de Icaza on Sunday 08/Aug/2004, @10:29
Well, the point of showing Eclipse running on IKVM is to show that our JIT engine is mature enough to run something of the complexity of IKVM and with the complexity of Eclipse running on top of it.

Great kudos should go to the hackers that develop GNU Classpath, without which
Eclipse on IKVM would not be possible.

Miguel.
[ Reply To This | View ]
  • Re: Java, jvm, jni
    by Boudewijn Rempt on Sunday 08/Aug/2004, @11:55
    Um, maybe it would be a good idea then to give these kudo's in public whenever possible. 'Ikvm + classpath == eclipse' running means you're using Java, C#. (Irrelevant aside: I always feel like I'm in Amsterdam when reading about that language -- hiss, see? hash!) Anyway, what I like classpath and gcj for is portable code that compiles to native code and still used garbage collection.
    [ Reply To This | View ]

 
The Fine Print: The previous comments are owned by whomever posted them.
( Reply )

  "There are some gaps in my recollection of the past, I always assumed that was sleep." -- Rob Kaper
KDE®, "K Desktop Environment", "KDE Dot News", "got the dot?" and the KDE Logo® are trademarks or registered trademarks of KDE e.V. in the European Union, the United States and other countries. All other trademarks and copyrights on this page are owned by their respective owners. Comments are owned by the poster. The rest: Copyright © 2000-2008 KDE e.V. for The KDE Project. For further information or comments on this site, please contact the Webmaster.
[ home | post article | flat forty | subscribe | search | rdf ]