Stories
Slash Boxes
Comments

News for nerds, stuff that matters

GNU Christmas Gift: Free Eclipse

Posted by CowboyNeal on Thu Dec 26, 2002 06:17 PM
from the compile-once-run-sort-of dept.
Mark Wielaard writes "Your friendly neighbourhood GNU did it again. A year ago IBM made much noise about placing $40 million of its software tools under a free software license. Technically these tools, called Eclipse, are great for developing (java) software. There was only one catch, it was build on top of the proprietary java platform. This made it useless for the Free Software community. Luckily the GNU project has two projects that come to the rescue. GNU Classpath, core libraries for java, and gcj, the GNU Compiler for Java. We are now able to run Eclipse on a completely free platform! It is not yet complete, but you can already edit, compile and browse CVS with it. And since Eclipse uses GTK+ it also looks very nice. I setup a page with instructions on how to get this working so you can help us make it work even better or just so you can view a couple of nice screenshots."
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • I'm glad... (Score:2)

    by Randolpho (628485) on Thursday December 26 2002, @06:20PM (#4963135) Homepage Journal
    ... that Eclipse is getting more "air time" on Slashdot. It's an outstanding IDE in its own right; the tools used to build it that you can use yourself (like SWT) are mere icing on the cake.
  • sun and java (Score:2)

    by jon787 (512497) <jon787@@@myrealbox...com> on Thursday December 26 2002, @06:21PM (#4963141) Homepage Journal
    I wish sun would just open up the java libraries, that would make open source java developement even easier.
  • Free Software Community (Score:3, Insightful)

    by lunartik (94926) on Thursday December 26 2002, @06:24PM (#4963160) Homepage Journal
    A development tool that is built upon a non-open architecture is "useless" for the free software community? But a sort-of-working substitution remedies the problem?

    Hmm.

  • combo (Score:2)

    by dirvish (574948) <dirvish@3fingers ... He.net minus cat> on Thursday December 26 2002, @06:25PM (#4963168) Homepage Journal
    This is great. Hopefully Microsoft will succesfully be forced to integrate Java. The combination could help Java smother .net
    • Keep the zealotry to yourself by Sanity (Score:2) Thursday December 26 2002, @06:33PM
      • Re:Keep the zealotry to yourself by momobaxter (Score:1) Thursday December 26 2002, @06:57PM
      • keep your naiveness to yourself by Kunta Kinte (Score:2) Thursday December 26 2002, @07:33PM
      • Re:Keep the zealotry to yourself (Score:5, Informative)

        by the eric conspiracy (20178) on Thursday December 26 2002, @08:30PM (#4963752)
        People authoritively claim that Microsoft will use patents to kill these efforts if they become competitive, but there is no evidence to support this paranoia, and in-fact Microsoft does not have a histroy of abusing patents in this manner

        Incorrect in every regard.

        Microsoft has already used patents to attack open source projects, and has also used patent licenses to attack the GPL. Microsoft's highest executives have also stated publically that they intend to use patents against certain open source projects.

        Examples

        - no translation of ASF, WMA and WMV files to any other format.
        - patent licenses granted only to non-GPL software
        CIFS implementations
        - royalty fees on file sharing extensions to SMB in Win2K and WinXP
        - Nasty letters to certain Linux kernel developers working on NTFS support.

        The Halloween documents also mention the possibility that Microsoft may use Patents to attack OS endeavors.

        We also have comments from Mr. Ballmer regarding .Net:

        Responding to questions about the opening-up of the .NET framework, Ballmer announced that there would certainly be a "Common Language Runtime Implementation" for Unix, but then explained that this development would be limited to a subset, which was "intended only for academic use". Ballmer rejected speculations about support for free .NET implementationens such as Mono: "We have invested so many millions in .NET, we have so many patents on .NET, which we want to cultivate."

        And we also have this:

        Asked by CollabNet CTO Brian Behlendorf whether Microsoft will enforce its patents against open source projects, Mundie replied, "Yes, absolutely." An audience member pointed out that many open source projects aren't funded and so can't afford legal representation to rival Microsoft's. "Oh well," said Mundie. "Get your money, and let's go to court."

        Any statement that Microsoft has not and is not likely to enforce patents in these areas is just not backed up by the history, or by public statements by MS senior executives.

        [ Parent ]
      • Re:Keep the zealotry to yourself by dirvish (Score:2) Friday December 27 2002, @12:54AM
      • Re:.NET runs only on kludge by ergo98 (Score:1) Thursday December 26 2002, @07:38PM
      • Um, Java++ == J++ by Latent Heat (Score:2) Thursday December 26 2002, @09:57PM
      • Re:Keep the zealotry to yourself by nhaines (Score:1) Thursday December 26 2002, @11:26PM
      • 5 replies beneath your current threshold.
  • Whoopi (Score:3, Insightful)

    by The Bungi (221687) <thebungi@gmail.com> on Thursday December 26 2002, @06:25PM (#4963171) Homepage
    Imagine how much better the world would be and how much more productive developers would become if they didn't have to wait for the 100%, pure unadulterated free-as-in-beer-and-speech tool to show up and appease the ghost of GNU.

    Yeah, let's maybe stop making that ridiculous association between software, politics, the fate of humankind and the pursuit of life, liberty and freedom. It's just software. They're just computers.

    Free: because everything else costs money and that sucks!

    • Re:Whoopi by 3Bees (Score:2) Thursday December 26 2002, @07:22PM
      • Re:Whoopi by The Bungi (Score:1) Thursday December 26 2002, @07:41PM
      • Re:Whoopi by Otter (Score:3) Thursday December 26 2002, @08:04PM
        • 1 reply beneath your current threshold.
      • 1 reply beneath your current threshold.
    • Re:Whoopi by the eric conspiracy (Score:2) Thursday December 26 2002, @08:01PM
    • Re:Whoopi by Joe Tie. (Score:1) Friday December 27 2002, @02:57AM
    • Re:Whoopi by ClosedSource (Score:2) Friday December 27 2002, @03:06AM
    • 1 reply beneath your current threshold.
  • Thanks Santa (Score:1)

    by blackmonday (607916) on Thursday December 26 2002, @06:25PM (#4963172) Homepage
    I think I'll try this, I'm still looking for the free app that can replace my current Enterprise Java development environment - editplus and the command line. **My sig has been slashdotted** -j
  • Running Eclipse with gcj/gij (Score:5, Insightful)

    by Anonymous Coward on Thursday December 26 2002, @06:26PM (#4963177)
    Eclipse is a nice free software tool for developing (java) software started by IBM. There was only one catch, it was build on top of the proprietary java platform. This made it useless for the Free Software community. Luckily the GNU project has two software projects that come to the rescue. GNU Classpath, core libraries for java, and gcj, the GNU Compiler for Java. We are now able to run Eclipse on a completely free platform! It is not yet complete, but you can already edit, compile and browse CVS with it. And since Eclipse uses GTK+ it also looks very nice.

    It is possible to run Eclipse with gcj since it comes with gij (GNU Interpreter for Java). It does take a little bit of work to get it running since you have to apply some patches to the latest gcj CVS verson. Hopefully the needed patches will make it into CVS soon. It is currently a bit slow (you will need a fast processor, 1Ghz+ recommended) and needs much memory (256MB recommended). And not everything will work yet (it sometimes hangs). But is already useful for gcj bug hunting and making pretty screenshots.

    If you just want to know why gcj is so cool, please read: Compiling Java with GCJ by Per Bothner (Learn how gcj can not only be used to compile java programs, but also Scheme and XQuery to native code.) If you are interested in other Free Software running on top of gcj, please checkout RHUG setup by Anthony Green. (It contains precompiled binaries of things like Jakarta Tomcat, Ant, Rhino, Postgresql JDBC drivers, Jython, Xalan, Xerces, and much more.)

    It took much effort to get this far with our free java platform. And I want to thank all GNU Classpath and gcj hackers for their years of hacking to make this possible. In particular I want to thank Tom Tromey the main libgcj maintainer for his guidance. And for being the first person to get to the Eclipse Welcome Screen, after all his hacking the rest was easy.

    I should also mention Vincent Partington and Erwin Bolwidt for explaining why I should care about Eclipse and for their bughunting help last weekend. Please checkout their free software projects, Jaxup.

    How you can help: If you write free java software make sure it works well on the GNU platform and if you like hacking on low level stuff help us make Classpath and gcj even better. And please consider to "Join us now and share the software".

    The following pages explain how to patch gcj and setup Eclipse. And show some pretty screenshots of Eclipse in action.

    What do you need

    If you want to run it yourself you should be familiar with compiling gcj from source (either current mainline or the gcc-3_3-branch) and you will need to apply the following patches.



    These patches (except the verify.cc change) should be applied to CVS soon so you might not need them.

    Update: The following new patches are highly recommended.



    That last patch will optimize classloading for Eclipse that doesn't need any natively compiled classes but should not be used for normal gcj usage. The other patches will hopefully make it into CVS soon.

    Update: eclipse.patch [klomp.org] contains all the above patches plus a few tweaks for getting Eclipse to work better on the IKVM.NET VM [weblogs.com]. With all these patches applied I was able to open, edit and compile the Jaxup Java XML Update engine project from my friend Erwin Bolwidt inside Eclipse. The new screenshot looks nice.

    When you have build and installed the new GCC you will need to make the following changes to the install.

    Go inside the bin directory of the new GCC install and make a java symlink to the gij program. (Eclipse expects a binary called java, you can give the -vm gij option, but then it won't autodetect gcj as Standard VM.)
    Copy the share/java/libgcj.jar file to lib/rt.jar. Then create a directory jre/lib/ and make another copy of the rt.jar here. (Note that these cannot be symlinks.)
    Make a directory src and copy the gnu, java, javax and org directories from the libjava source directory in it. Then create a src.zip file which contains this src directory. Put this src.zip file in the parent directory of the dir you installed the new GCC in. So if you installed in /usr/local/gcc34/, then put the src.zip in /usr/local/ (This is needed for extra WOW! in the code editing screenshot.)
    This is all needed because eclipse expects a tradition java environment. It should be easy to hack org/eclipse/jdt/internal/launching/StandardVMType. java to recognize gcj by default.

    Update: The following is no longer needed with the latest patches.
    Disable the garbage collector by export GC_DONT_GC=1. If you don't do this eclipse will not startup properly and you will find a stacktrace in the workspace/.metadata/.log file mentioning a InvocationTargetException caused by a NullPointerException.

    Finally get the latest stable Eclipse build (you want the eclipse-SDK-M4-linux-gtk.zip.) It will create a directory eclipse and comes with all the sources (and a precompiled binary and the classes in jar files).

    Running it

    Make sure that the freshly compiled gij (and the java symlink) is in your path and that LD_LIBRARY_PATH points to the newly installed lib directory. Go inside the eclipse directory and you should be able to just type ./eclipse and it will show you an installation popup.

    This will take several minutes. If anything goes wrong start it with ./eclipse -debug and/or look in the newly created file workspace/.metainfo/.log.

    After several minutes you will see the following welcome screen.

    One of the first things you probably want to do is set the correct key bindings :).

    Not everything will work as expected and sometimes you are greeted with the following dialog.
    Error
    JVM terminated. Exit code=1
    /usr/local/gcc34/bin/java -cp /tmp/eclipse/./startup.jar org.eclipse.core.launcher.Main -os linux -ws gtk -arch x86 -showsplash /tmp/eclipse/./eclipse -showsplash 600
    Which is often because the garbage collector is disabled. My machine quickly gives up after eclipse has eaten more then 600MB.

    Update: There used to be a screenshot here of the terminal window showing lots of Out Of Memory messages. But with all the new patches this does not happen anymore.
  • by Joe Tie. (567096) on Thursday December 26 2002, @06:29PM (#4963190)
    I seem to recall a few projects working on form designers, have any of these gotten anywhere yet?
  • so what? (Score:1, Flamebait)

    by joshsnow (551754) on Thursday December 26 2002, @06:34PM (#4963220) Journal
    We are now able to run Eclipse on a completely free platform!
    So what? Does Eclipse perform any better or is Eclipse materially different using these "free" libs? Is this going to single a massive take-up of Eclipse? Or is this yet another silly political/ideological stance taken to extremes?
    Eclipse is an outstanding tool - the Visual Studio of the non-microsoft world. It's used everywhere from single home based coders through to commercial "Enterprise" projects. I think the real point to write home about is that IBM has opened the next version of what is essentially the VisualAge codebase, in such a way that it can be extended and used independently of IBM.
    Time spent writing Eclipse plugins rather than making it ideologically 'clean' would be of far more benefit, IMO.
    • Re:so what? by Twirlip of the Mists (Score:3) Thursday December 26 2002, @06:42PM
      • Re:so what? by Twirlip of the Mists (Score:3) Friday December 27 2002, @02:18AM
      • 1 reply beneath your current threshold.
    • 1 reply beneath your current threshold.
  • Not Ready? Its all about the plugins. (Score:4, Informative)

    by Apoptosis66 (572145) on Thursday December 26 2002, @06:57PM (#4963314)
    I am not sure I understand the "Not Quite Ready" comment. I have been using Eclipse as my main IDE for nearly a year and I love it. Eclipse is just the framework to build the IDE you desire. Eclipse is complete, there are just some pluggins that aren't ready yet, however they are comming along very fast. Just last night I started using the Lomboz J2EE pluggin and so far I have been pretty impressed. http://www.objectlearn.com/ Also, I get all my plugins from: http://eclipse-plugins.2y.net/eclipse/ I might not be up on all the politics of programming, but I know I didn't pay for Eclipse and no one has asked me for anything to use it. So it appears pretty damn free to me. I recommend Eclipse to everyone.
  • Xored Web Studio (Score:1)

    by dickens (31040) on Thursday December 26 2002, @06:57PM (#4963320) Homepage
    Xored Web Studio [xored.com] is an IDE for PHP, implemented as a plugin for Eclipse. It's on my short list to check out in the new year.
  • by jhair_tocancipa (545029) on Thursday December 26 2002, @06:58PM (#4963323) Homepage
    I don't see any reason.
  • by javabandit (464204) on Thursday December 26 2002, @07:00PM (#4963327)
    As someone who has written several Swing based applications, I can say that Java sorely needs this kind of a shot in the arm for the client-side to be even remotely feasible.

    Up to this point, Sun has ignored the client-side, and rightly so. Because Microsoft and MFC rules on the client side (on Win32). Sun exploited the server-side breach that Microsoft had ignored.

    But now, Java needs to become a viable alternative to C++ based programming on the client-side. And the only way this is going to happen is for Java to have some kind of a native GUI presence on each platform it runs on. This is where IBM and the SWT libraries come in.

    Currently, the SWT libraries are still immature. The Eclipse platform itself is still immature. But they will get better and better. I predict that the SWT libraries will not only get quite expansive... but include things other than GUI widgets/toolkits.

    If IBM plays their cards right (and so far they have)... I can see them actually introducing more Java extension libraries for other things that Sun did a terrible job on. Collections. Better native threading model. Better I/O model. The list goes on and on.

    Personally, I would have no problem with writing a Java application that only imported IBM extension libraries. As long as they were well-written, and performed well.

    Sun really needs to get on the ball here. The time has come to open-source Java. Let the developers do with the language what needs to be done to bring it to the next level.

    Otherwise... companies like IBM are going to do it anyways. Just using extension libraries. If Microsoft was smart, they'd have done five years ago what IBM is doing now. Microsoft would own Java on the client-side if they would have played it right.
    • Re:Java on the client-side needs this to compete.. by DigitalDragon (Score:2) Thursday December 26 2002, @09:34PM
    • I disagree in many respects (Score:4, Insightful)

      by Stu Charlton (1311) on Thursday December 26 2002, @10:23PM (#4964216) Homepage
      I've written quite a few Swing & server-side applications myself.

      "Microsoft and MFC rules on the client side (on Win32)".

      MFC is dead, long live .NET. And Visual Basic rules on the client Win32 side, and has for quite some time.

      "But now, Java needs to become a viable alternative to C++ based programming on the client-side."

      Absolutely not. Java's only main competitor for Win32 client-side supremacy is VB.NET and C#.NET. C++/MFC is a dead-end.

      On UNIX, I would suggest it's a toss-up between C++/Qt and C/GTK, and IMHO I think Java's more productive than either (though pre-1.4 X-windows Swing performance was unacceptable).

      Sadly, this doesn't seem to be a battle that Java will win on Win32, even with SWT, for a couple of reasons. Microsoft has the industry's talent in developing high-performance Win32 GUI framewords, which will come out for .NET first. WinForms.NET is effectively the next iteration of what was out in Visual J++ 6.0's WFC libraries.

      They also have the tools support with Visual Studio. The Java world currently has only *ONE* usable GUI building tool -- JBuilder. And that's not saying much. Eclipse won't have one for some time. The second major problem with Swing (besides performance) was this lack of tools support. I don't forsee a groundswell of tools support for SWT from multiple vendors.

      Thirdly, there isn't a whole lot of impetus behind client-side "thick" GUIs in the industry. I don't foresee IBM throwing lots of money at making SWT general-use... the open source community will probably assist in this area, but I'm somewhat skeptical about how much adoption this will generate.

      On the bright side, I'm not sure it really "matters". Windows peeps will write stuff with VB like they've always done, the C++'ers will switch to C# (they've really not much choice -- I worked at an MS shop as the Java junkie for 2 years, most C++/Windows programmers there took what MS has given them... there's a lot of shock and dismay when Borland/OWL is on one's resume). The 2nd most widely used GUI framework family will be (gasp) Carbon/Cocoa on Mac OS X. ANd rounding out the list, *nix peeps will continue head-butting between Qt and GTK+ (both of which are still gawdawfully ugly IMHO, quite apparent actually if you run a GTK+ app side-by-side with a Mac OS X application. But I digress).

      "I can see them actually introducing more Java extension libraries for other things that Sun did a terrible job on. Collections. Better native threading model. Better I/O model. The list goes on and on."

      Whoa, whoa! I disagree with each one of these. We are talking about J2SE 1.4, are we not? I'm quite happy with the collections framework (and I compare this to both stdc++ and the Smalltalk collections library), the java.nio.* package is very sophisticated, and IMHO the threading model is a matter of taste, not stemming from any particular technical disadvantage.
      [ Parent ]
      • Re:I disagree in many respects by mgkimsal2 (Score:2) Thursday December 26 2002, @10:42PM
      • Re:I disagree in many respects by Dalcius (Score:1) Thursday December 26 2002, @10:56PM
        • Re:I disagree in many respects by Dalcius (Score:1) Thursday December 26 2002, @11:02PM
          • I come to bury VB not to praise it by Stu Charlton (Score:2) Thursday December 26 2002, @11:30PM
            • Re:I come to bury VB not to praise it by Dalcius (Score:1) Friday December 27 2002, @01:14AM
              • .NET in a nutshell (Score:4, Informative)

                by Stu Charlton (1311) on Friday December 27 2002, @08:19AM (#4965609) Homepage
                .NET is one of many things, depending who you talk to in Microsoft's marketing dept. First I'll define that. Forgive me if it's review.

                Here's the things that it isn't (in reality):
                - A new server platform (MIcrosoft marketed it as such, even though there really isn't anything new in their Windows 2000 lines of servers yet).
                - A some new magic technology (i.e. the marketing idea that MS Passport became Passport.NET and thus was embued with a +6 long-sword)

                Here's what it is:
                - The common type system, language spec, and language interface. (CTS, CLS, and CLI). It's a way of getting several languages to interoperate through a virtual machine.

                - The Common Language Runtime (CLR) for Win32. This is the Virtual Machine. It's as fast as Java 1.4 in some ways, slower in some ways, and over 2x faster at certain operations like object creation. Ya gatta hand it to Microsoft's x86 team, they know their stuff.

                - The following languages are released by Microsoft for .NET: C#, VB.NET, C++.NET, and JScript.NET. C# is first among equals, but VB.NET can do anything C# can do, again because the CTS/CLS is "the language". .NET just gives you a syntactical skin on top of this abstract language.

                - The Base Class Libraries (BCL), ASP.NET, COM+ (aka Managed Components), and ADO.NET are included.

                - The ECMA standards body has been submitted the CLI, CTS, CLS, BCL, and C#. Mainly for show, but maybe something good may come from Miguel et al.

                What's .NET good at?

                - It's a much better way for binary module interoperability than COM was. Viewed this way, .NET could be seen as the next step in evolving binary interop. I.e. in DOS, it was TSR's and interrupts, in Win 3.1/*nix it was DLL's and pointer-tables, in Win95+/Gnome/KDE it was COM or CORBA components, and in .NET, interop is at the CLASS level. They've basically learned the Java/JAR model of interoperability, then abstracted it to multi-languages (they just call JAR files "assemblies")

                The language-interop issue at first glance seems like a red herring feature, but in fact it's rather important from a programmer's sociological perspective. VB and C++ programmers are naturally opposed to each other in philosophy - their means and ends do not peacefully coexist. .NET makes all languages equal. This was painfully NOT TRUE in COM programming! Almost all of the plumbing underneath COM was to support Visual Basic's interoperability with C/C++ components. .NET levels the playing field here, and people can't pick on VB anymore (other than its cheesy syntax). Anyone can throw an exception in C# and catch it in VB, or define a class in C++ and inherit from it in C#. And debug across all these languages in a single session, if need be. Quite liberating for system architects dealing with a large, multi-team project with reusable components and potentially different skill-sets (hence different languages).

                Things you can do with .NET DLL's that are better than traditional Win32 COM DLL's:
                - The Windows Registry is NO LONGER NEEDED. Nothing in .NET uses it, sing the praises!
                - Easy and Flexible Side by side versioning. An app that links against a version stays with that version unless updated or a sysadmin coerces it to use a newer DLL version.
                - No filename conflicts (i.e. no 2 vendors with MYSILLYLIBRARY.DLL overwriting each other -- each DLL has a public key stamp)

                Other things... Making web services in .NET is CHILD'S PLAY compared to some other platforms. Especially with Visual Studio. They've really made distributed interoperability easy -- though of course none of this will scale or be bulletproof without real engineering work, but that's never been Microsoft's game -- let J2EE vendors do the dirty guinea pig work, they'll copy it into Windows/IIS eventually.

                So -- you see, .NET really is about making Windows developer's lives A LOT EASIER. Which really was all that Visual J++ 6.0 was about before they decided to "break" features for political reasons.
                The jury's still out as to whether .NET is appropriate as a new standard for dynamic languages like Smalltalk, Lisp, Haskell, ML, etc.

                I say it's more about "syntax skin" than "flexibility". Certainly you can write Lisp onto .NET but you have to contort it into classes & methods if you want to interoperate with any other .NET language... this is what the C++ people have to do too! (i.e. no more templates, multiple inheritance, at least until .NET 2.0 :) .NET isn't the second coming, though many Missy-followers think it is because their intranet is locked to http://msdn.microsoft.com and really don't have a lot of exposure to the alternatives out there (i.e. J2EE or perhaps PHP, Python, Ruby, etc.)
                [ Parent ]
              • Re:.NET in a nutshell by Dalcius (Score:1) Friday December 27 2002, @11:46AM
      • Re:I disagree in many respects by javabandit (Score:1) Friday December 27 2002, @10:52PM
    • Re:Java on the client-side needs this to compete.. by MisterFancypants (Score:2) Thursday December 26 2002, @11:23PM
      • 1 reply beneath your current threshold.
    • 1 reply beneath your current threshold.
  • by V.P. (140368) on Thursday December 26 2002, @07:05PM (#4963350)
    Eclipse is distributed under the CPL, which is a free but GPL-incompatible [fsf.org] license.

    I don't think this will be a problem with the Classpath library, since iits license provides the "library exception", but in general it will make linking with other GPL licensed software a hassle.

    Don't get me wrong, I like Eclipse and use it a lot. It's faster and better looking than Netbeans (plus I have no use for the GUI builder part of Netbeans), and SWT is a great idea. I'm just pointing out that there are still license incompatibilities lying around between major free software projects (remember the Python licensing controversy?), and wish that copyright holders will do something to resolve them.

    • 1 reply beneath your current threshold.
  • Just use Anjuta (Score:4, Interesting)

    by DuckWing (19575) on Thursday December 26 2002, @07:06PM (#4963355)
    Why is there a big deal about this, other than the promise by IBM and making good that promise? Anjuta DevStudio [anjuta.org], which is one of the best GUI IDE's on Linux IMHO, supports Java. I personally havean't gotten into Java, so I could care less about this, but Anjuta is fully GPL'd already.
  • Waste of Effort (Score:5, Interesting)

    by kindofblue (308225) on Thursday December 26 2002, @07:07PM (#4963359)
    I think Eclipse is pretty damn good. If it could be sped up by precompiling critical parts using GCJ, and integrating with any good Java VM, then that would be great. However, reimplementing the entire (Java) API using "Free" code seems like an extraordinary waste of effort. Realistically, there would always be some mismatch between the official API and the free version, meaning that the Java API would be forked in a subtle way. That benefits Microsoft immensely.

    I think that the Java libraries will be very difficult to control fully by Sun, because they do not have IBM and Oracle to push around. IBM will absolutely not be backed into a corner by one of their main competitors in hardware, Sun. Because of that, I'm not worried about the Java APIs turning into a controlled arena, as Microsoft has done with Windows.

    Basically, I think the effort of the Open Source community, of those that like Java, would be much pretty spent on making GCJ integrate seemlessly with a compliant Java VM using JNI. GCJ could used to make a just-of-time optimizer. With C# and dotNet, I think there's an ahead-of-time compiler instead of a just-in-time compiler that can optimize the byte code for the target machine. Using GCJ/GCC, one could get that sort of performance boost, almost for free, if it were plugged into a compliant Java VM, meaning that it could integrate with DLL/DSOs using the Java Native Interface.

    Anyway, I, for one, would probably not waste my time using a slightly out-of-date API, on a slightly behind-the-curve VM or compiler. (BTW, I'm a heavy user of emacs, perl, mozilla, etc.) The java API, language and VM still has a LOT of room for improvement. I hope developers would rather innovate and improve the java standard than to fork off a clone.

    • Re:Waste of Effort (Score:4, Interesting)

      by Anonymous Coward on Thursday December 26 2002, @07:52PM (#4963560)
      But they CAN'T innovate and improve on Java because Sun holds the ropes. I've been reading in Infoworld that Sun is looking to make more money from Java .. somehow .. and that worries me a little.

      I'd like to see a Free clone of Java, and then a community develop around the clone to CHANGE it into a better language. For instance, I'd like to see templates ("generics") added to java. I'd like to see type-safe enums. I'd like to see some "syntactic sugar" to make programs easier to write and read (hello, iterators). I'd like to see a GNU/Java implementation that has all this stuff and more, but is still backwards compatible with Sun/Java.

      I'd like to see native-code only Java. I'd like to see GTK+ bindings for Java. I'd like to see all the old library cruft cleared out of Java. Heck, I'd like to see Java pre-installed on Red Hat, without coming on a separate CD with a separate license and a crappy RPM that was made by Sun. I wish it was available on FreeBSD sooner. I wish a lot of stuff that's only possible or easy with third-party implementations.
      [ Parent ]
    • Re:Waste of Effort by statusbar (Score:2) Thursday December 26 2002, @10:34PM
    • Re:Waste of Effort by codealot (Score:2) Thursday December 26 2002, @11:59PM
    • Re:Waste of Effort by Ed Avis (Score:1) Friday December 27 2002, @03:50PM
    • Re:Waste of Effort by p3d0 (Score:2) Saturday December 28 2002, @10:38AM
    • 1 reply beneath your current threshold.
  • Old news (Score:2, Informative)

    by DigitalDragon (194314) on Thursday December 26 2002, @07:09PM (#4963366)
    Sorry guys, but this is seriously old news.. You can't call this a Christmass gift or anything. Our company's been using it for a year already (with a free license) and I personally have developed couple of plugins for it.
    Nevertheless, this is the best tool I've used, and really, thanks IBM for doing such a great and generous job. My point is - this is not really news, and have nothing to do with Christmass.
    Cheers.
    • Re:Old news by Tim Macinta (Score:2) Thursday December 26 2002, @07:34PM
  • GCC vs GCJ? (Score:2)

    by egg troll (515396) on Thursday December 26 2002, @07:51PM (#4963550) Homepage Journal
    What's the difference between using GCC to compile ones Java apps, and using GCJ?
    • Re:GCC vs GCJ? by damiam (Score:1) Friday December 27 2002, @02:08PM
    • 1 reply beneath your current threshold.
  • Useless to RMS, maybe (Score:5, Insightful)

    by Ghazgkull (83434) on Thursday December 26 2002, @07:52PM (#4963558)
    There was only one catch, it was build on top of the proprietary java platform. This made it useless for the Free Software community.


    If you define the "Free Software community" as the zealotous 5% of free software users who refuse to use software that hasn't been blessed by RMS, you're right.

    For the rest of us, Eclipse has been useful (and free and open source) for over a year.
    • Re:Useless to RMS, maybe by Gumshoe (Score:3) Friday December 27 2002, @05:49AM
    • Re:Useless to RMS, maybe by OeLeWaPpErKe (Score:2) Friday December 27 2002, @06:47AM
    • Re:Useless to RMS, maybe by civilizedINTENSITY (Score:2) Wednesday January 01 2003, @05:23AM
    • Re:Useless to RMS, maybe (Score:4, Insightful)

      by cant_get_a_good_nick (172131) on Friday December 27 2002, @02:30AM (#4964955)
      It is incredible that you can speak of enjoying free software and curse RMS in the same breath.

      This statement is heresy ONLY if you believe Free Software and RMS are synonymous. I believe they are not. Free Software existed well before RMS, and will exist well after he is gone. He only "created" Free Software if you accept his conceit that Free Software is only software that follows his definitions of Free [gnu.org]. I do not. He has contributed a lot to this world, but didn't invent the world. Many people don't realize that The Cathedral and the Bazaar [tuxedo.org] wasn't necessarily contrasting the development styles of commercial software vs. free software, but different styles of development within Free Software itself, and the RMS driven gcc was the example of the "closed" Cathedral. Because of the lack of innovation in gcc, especially around the time ANSI C++ came out and it needed large changes, folks forked gcc into egcs, a more "bazaar" style development model, that eventually became the offical gcc. Or are you saying Eric Raymond has nothing to say on the topic of Free Software because he differs with RMS?

      Or if this was a troll, nevermind.
      [ Parent ]
    • 1 reply beneath your current threshold.
  • Give me a break (Score:4, Interesting)

    by leereyno (32197) on Thursday December 26 2002, @09:00PM (#4963857) Homepage Journal
    "There was only one catch, it was build on top of the proprietary java platform. This made it useless for the Free Software community."

    There is plenty of java code that has been released under the GPL and BSD licenses. The only way that java would be useless to someone is if they turned their nose up at it. Turning one's nose up at something for non-technical reasons is usually a bad idea.

    Lee
  • The point (Score:5, Insightful)

    by AveryRegier (66592) on Thursday December 26 2002, @09:17PM (#4963917) Homepage Journal
    I've been following both of these projects for years.

    The point that so many have missed is that this shows how close the GNU implementations are to be being a complete JDK replacement. Eclipse is a very complex beast that uses nearly all of the Java APIs. This achievement shows the quality of the years of work that has gone into these free projects. All of this work is now finally ready to pay off.

    Congratulations to the whole ClassPath and GCJ teams!

    -Avery Regier
    • 1 reply beneath your current threshold.
  • Questions (Score:1)

    by Unregistered (584479) on Thursday December 26 2002, @09:18PM (#4963919)
    Does it do C/C++? Shouldn't the compiler be gjc not gcj? Isn't blackdown already free/open or am i missing something?
  • Damn (Score:2)

    by spudwiser (124577) <spudwiser@hotmail. c o m> on Thursday December 26 2002, @10:29PM (#4964244) Journal
    I thought they were giving me a car :(
  • by Anonymous Coward on Thursday December 26 2002, @10:33PM (#4964259)
    The GNU folks had no hope of recreating a cleanroom AWT and Swing - it was just too bloody big and complicated. It would have taken at least 4 years to create a cleanroom Swing. Then along comes Eclipse/SWT which did all the hard bits for them in C. The result - a portable and very fast Java GUI. Now folks have a very good reason to work on GCJ because they can finally see some concrete results. Success breeds further success.
    Compiling your application to a single binary (or .exe if you will) is a HUGE advantage for distributing applications. That 20 meg JRE is a complete pain in the butt for a client to download. It's much better to simply run a 5 megabyte GCJ-compiled application.
    Java doesn't suck. Java's GUIs need not be slow. It was Swing that sucked. Finally people realize where to lay blame.
    Sun - get rid of Swing once and for all! Swing is a poorly designed GUI tookit and a complete embarassment to Java.
  • Useless how? (Score:1)

    by unoengborg (209251) on Friday December 27 2002, @12:59AM (#4964696) Homepage
    Java is java. It doesn't matter if it's free or not. It will still have the same APIs and bytecode interpretation or it will not be java. The whole point of java is the compile once run everywhere thing. Eclipse will not be able to distinguish between a free java or a Sun propriatory one.

    And all free code developed in Eclipse can be used in a future free java version. If somebody developed a propriatory java processor in silicon, would Eclipse still be useless? Saying Eclipse is useless for free development is like saying Linux is useless on the Intel platform because the Intel microcode isn't free.

  • by Urkin (537023) on Friday December 27 2002, @12:59AM (#4964698)
    Any developer who uses it, will never want to work with any other IDE again. And second of all, everybody thinks just because SWT uses wrappers for native widgets that its faster, that is bullshit. Swing is actually a very functional GUI Toolkit if used properly, just like any toolkit and any language. Develop with pleasure [intellij.net]
    • 1 reply beneath your current threshold.
  • Ah, Java (Score:2)

    by Raul654 (453029) on Friday December 27 2002, @01:36AM (#4964802) Homepage
    Code once, debug everywhere. Although, to be fair, is that still the situation or has it improved since I last dabbled?
    • Re:Ah, Java by Tim C (Score:2) Friday December 27 2002, @04:26AM
  • I have to say it (Score:1)

    by Hugonz (20064) <[hugonz] [at] [gmail.com]> on Friday December 27 2002, @04:26AM (#4965230) Homepage
    If they're sooo worried about Eclipse not working on a free SDK, why on earth have they NOT written a usable substitute for the Mozilla/Netscape Java Plugin? Mozilla has FAR more exposure than any IDE.
  • I have a dream (Score:2)

    by theolein (316044) on Friday December 27 2002, @06:02AM (#4965398)
    I really hope that the gcj effort manages to implement all the classes of the standard Java API and above all that the compilation to binary becomes a reality for all Java developers. The implied importance of it being GPL is not that important to most of us who actually do use Java, the limitations, lack of AWT, Swing or a full SWT, memory consumption and speed are much more important. I wish I had the time so that I could work on this myself, because this would provide Java Developers the possibility of finally writing GUI code on Windows, Linux and Mac that could compete on a level ground with C# and .NET.

    I can already see problems arising with Mono in that I simply don't trust MS not to try and kick it in the balls with a patent suit after it has started to become widely used. .NET and C# might be easy to use and very powerful, thereby providing the "carrot"for many developers, but I think it is naive and irresponsible to think that MS will play fair. Have they ever done so before?

    Java is easy to use and secure, and at the moment, on cellphones which have Java bytecode instruction sets in their CPU's, is anexcellent opportunity for expansion. Cellphones are a booming market and present a real chance for Java on the client side with J2ME. Being able to compile to native code would make it even better suited for that purpose. MS knows how important the Cellphone market is which is why they are up to their tricks and abuse there again (Sendo) and which is why almost all Cellphone makers are giving MS a wide berth and are using Symbian, which brings the story back to Java...
  • by deragon (112986) on Friday December 27 2002, @08:51AM (#4965692) Homepage Journal
    Would you guys have pointers to start with eclipse? I downloaded and tried the IDE, but I would like to learn more on how to use SWT, but I could not find any doc on SWT (API, tutorial) on www.eclipse.org [eclipse.org]. Its probably there, but could not find it. I find that there should be more "Quick start/pointer" document on that site.

    Maybe you have books to recommend. Please provide any helpfull info you got (libraries to suggest, tricks, etc...) that would help a newbie to jump start quickly on this platform.

  • Aww man! (Score:2)

    by CoffeeJedi (90936) on Friday December 27 2002, @09:26AM (#4965868)
    It's a software tool!?!? Dang... And here I thought I would be getting a free Japanese sports-coupe!
  • by toriver (11308) on Friday December 27 2002, @09:38AM (#4965941)
    I guess their next goal would be to have GCC not target that proprietary platform, Windows...
  • by malachid69 (306291) on Saturday December 28 2002, @12:27PM (#4972439) Homepage
    You say that it's great because now it is finally free? Java is more free than GPL. I can use Java in ANY product I distribute, commercial or open-source, with or without source code, et cetera, etc... GPL puts all these restrictions on so that no company I have ever worked for was WILLING or ABLE to use GPL code/components.

    So, if you mean free as in NO ONE USES IT, sure. If you mean free as in I CAN DO WHATEVER THE HELL I WANT, then Java wins over ANYTHING GPL.

    And, if you are going to doubt me without looking up the facts, consider who is on the JCP (www.jcp.org), ask yourself why Apache is on it.

    I mean, I should expect your close-minded attitude, since many people here on slashdot slam Java because it isn't C/ASM.... but then again, I guess we could all make fun of you for making tools that you have to rebuild on each platform -- what a waste of time.

    "But Java is slow!" So is X11 and e2fsck and format and dd.... It's the APP, you moron, not the language. Any REAL programmer would know that.

    Sorry, this isn't meant to be a flame, but do some research before you post B$ as FACT.
  • by XaXXon (202882) <xaxxon@NoSPam.gmail.com> on Thursday December 26 2002, @07:31PM (#4963450) Homepage
    IBM was the one who released Eclipse source. GNU and certainly not that wacko crackpot RMS had nothing to do with it. Very misleading topic!!

    Whoa! Whoa! and Whoa! there buddy. Speaking of crackpots, you've been smoking from yours a little too heavily.

    This post has nothing to do with the fine work the folks at IBM have done on Eclipse. That's old news.

    This article is about the GNU components that have been released to allow Eclipse to run with all Free components.

    I know it's trendy to bash RMS, and the Slashdot editors, but let's save that for when they are actually doing stupid stuff.

    [ Parent ]
  • by larry bagina (561269) on Thursday December 26 2002, @08:29PM (#4963747) Journal
    actually, the -C flag generates java-VM targetted object files. -c generates native object code.
    [ Parent ]
  • Re:SWT binaries? (Score:2, Informative)

    by AG (3175) on Thursday December 26 2002, @09:10PM (#4963897)
    "Could one, for instance, now compile a Java program using the SWT library to a native binary using GCJ, so it could be run without using a JVM?"

    Yes, absolutely. Get ftp://sources.redhat.com/pub/rhug/swt-gcj-green-sn apshot.tar.gz [redhat.com]

    Run configure/make/make install, and you'll en up with lib-org-eclipse-swt.so.

    People are also building for Win32 using gcj for Windows (or a cross compiler from Linux)

    AG
    [ Parent ]
  • Re:SWT binaries? (Score:5, Informative)

    by MillionthMonkey (240664) on Thursday December 26 2002, @09:48PM (#4964063) Journal
    Could one, for instance, now compile a Java program using the SWT library to a native binary using GCJ, so it could be run without using a JVM?

    Yes.

    SWT takes a middle ground between the extremes of AWT and Swing, and abandons a sacred cow of Sun's- the idea that the same binary must run on all platforms without any modifications. This attitude has really been an albatross around Java's neck and is the reason everyone thinks that Java applications have to be cheesy- because Sun demands that they must be equally cheesy everywhere!

    AWT takes the approach that ALL widgets are drawn by the native layer. This isn't a bad idea, except that if no native widget is available (like a slider, or tree), AWT refuses to improvise one at the Java level. This is why there are no sliders or trees in AWT, even on platforms like Windows where native widgets for both are present, because there's some platform out there somewhere that doesn't have them. Maybe AIX or something, who knows. AWT is strictly lowest-common-denominator and that's why everyone hates it.

    People bitched and moaned. So Sun went straight to the opposite extreme with Swing, which refuses to even consider the native widgets. Instead, it uses Java level methods to draw pictures of them to fool you. This means that Swing can offer you a "pluggable look and feel", so you can have Motif buttons on Windows, or "Metal" buttons on the Mac! Except nobody cares. Microsoft promptly kicked Swing in the nuts by introducing skins with XP, so it becomes obvious what is really Windows and what is pretending to look like Windows but can't keep up. And Swing suffers greatly from the second system effect- it's overengineered as hell. A Hello World in Swing gobbles up 20 MB of overhead- mostly classes loading and initializing themselves. In fact, Swing is why AWT is still alive. AWT sucks, but you can run a program that lasts for more than a couple minutes with it. Writing stable applications with Swing is a real art. (It is in AWT too, but only because Sun has pretty much left AWT flapping in the wind [sun.com] with minimal improvements, maintenance, or bug fixes. Since Swing came along, AWT has been treated like a red-headed stepchild by Sun.)

    SWT is much more like AWT than Swing, except that it takes a practical middle ground- something Sun doesn't seem capable of doing at all! It offers you a nice set of native widgets. If a slider or a tree isn't available on some platform, they draw a picture of one for you. This might make sliders and trees look funny on platforms that lack sliders and trees, but you would expect things to look funny on those platforms. People using Windows (i.e. most of them) aren't bothered by any of this.

    This sacrifices binary compatibility. Each platform has its own version of the SWT library. For example, there is a Windows specific swt.jar and a swt.dll that goes with it, and there is a Solaris version of swt.jar and a native swt.so library that it uses. Even though the libraries are implemented completely differently, the public interfaces are the same. So if you develop a program against the Windows version of the SWT library, you won't have any problem compiling against the Linux version. (Although I've heard that SWT blows on Linux, but that was a while ago and I don't know what the current state is.)

    SWT doesn't abstract much away from you, unlike AWT, where you are separated from the low level GUI details by a leaky abstraction. In SWT you have to write the frigging event loop yourself! (Which is not a big deal- it's a while loop, usually two lines.) There are a few other gotchas, and you absolutely have to test a SWT program on all platforms you're releasing for, but in practical terms the same was always true for AWT because of the leakiness of its abstraction. SWT at least doesn't pretend that you don't have to worry about this stuff.

    This means you have to compile and test a program three times before releasing it, once for Windows, once for Linux, once for Mac. This violates Sun's sacred cow of binary compatibility. But when you're releasing a Java application, you're going to make separate installers for each platform anyway, because you have to bundle a JVM for everybody. So it's not really a big deal, unless you're writing an applet- and applets went the way of the dodo long ago in no small part because of AWT and Swing!

    With SWT, you can make really nice, professional looking programs. The layer between you and the OS is very thin (JNI). If your program looks silly or stupid, it's YOUR fault. When the user changes the skin in XP, your SWT programs will pick up the change right away. In fact, it isn't even obvious that you're not using C! You can write your stuff in Java and actually get away with it! So that's why I think SWT is the future (if there is any future left anymore) of Java on the client, and why I will be junking AWT/Swing completely when starting new projects.

    For more info see the SWT FAQ. [eclipse.org] There is some GCJ and SWT [gnu.org] info available here. [ibm.com]
    [ Parent ]
  • by Rubbersoul (199583) on Friday December 27 2002, @08:05AM (#4965583)
    I understand this is not the CPU but the GNU people are already working on open hardware ...

    OpenBios [linux.de]

    Story on /. about this too, but I am much to lazy to look it up
    [ Parent ]
  • 26 replies beneath your current threshold.