Slashdot Mirror


Eclipse Reaches Version 3.0

Tarantolato writes "The Eclipse Foundation has released version 3.0 of its open-source Java-based IDE. Eclipse backers like IBM say the program offers not only increased productivity and ease of use, but also a plugin-based architecture for creating 'rich client' applications with the networking capabilities of web-based apps and the persistence and native widgets of desktop applications. The Lotus Workplace platform is already Eclipse-based. Some in the Java community, however, are concerned with Eclipse's use of SWT rather than the standard Swing widget set, and some analysts think that project is part of a 'broader challenge to Microsoft's entire .Net development framework' from IBM. Meanwhile, Eclipse executives are attempting to woo Microsoft into joining the foundation."

32 of 70 comments (clear)

  1. I hate to sound cliche, but... by Keith+Russell · · Score: 2, Funny

    I just finished downloading Release Candidate 3!

    --
    This sig intentionally left blank.
  2. Great, if you program Java... by Anonymous Coward · · Score: 2, Interesting

    Will somebody please write a *good* IDE for Ruby? I found some stuff for Eclipse once but it wasn't more than just an editor. I want to be able to refactor Ruby code, see it correctly syntax-highlighted, be able to dynamically get lists of methods on objects...etc.

    Bitch, moan. :-)

    It's funny how much Eclipse reminds me of Emacs though, except in Java instead of Lisp (one step forward, two steps back?)

    Is there a mail reader for Eclipse yet?

    1. Re:Great, if you program Java... by tcopeland · · Score: 5, Informative

      There's a Ruby-Eclipse project... last release was in May of this year, so perhaps it's pretty active...

  3. Eclipse + Python by timothv · · Score: 5, Informative

    If anyone's interested in Python support in Eclipse, I use and recommend pydev. It's certainly incomplete, but it has syntax highlighting, a class/method browser, realtime syntax checking, and there's a debugger which I couldn't get working.

  4. BitTorrent? by Nimey · · Score: 4, Interesting

    Anybody got a torrent of the 3.0-final release? I only see 3.0-rc3 on their website.

    --
    Hail Eris, full of mischief...

    E pluribus sanguinem
    1. Re:BitTorrent? by darkpurpleblob · · Score: 5, Informative
      The final release is not yet available. From the press release:
      Availability

      Distributions of Eclipse 3.0 will be available by June 30 for download from http://www.eclipse.org.

      See the project plan for more about the release details.
    2. Re:BitTorrent? by Anonymous Coward · · Score: 5, Funny

      I guess paper launches are so trendy these days even opensource groups are using them.

      "Today Linus Tovalds announced the release of Kernel 2.6.10. '2.6.10 contains several bugfixes over version 2.6.9' says Tovalds in a short post to lkm. Kernel 2.6.10 will be available Q2 of 2005, shortly after the Q1 scheduled release of 2.6.9."

  5. Now that's amazing by 0x54524F4C4C · · Score: 5, Interesting


    How can someone say that SWT is "worse" than Swing in any way? Wasn't the ultimate goal of GUIs to provide users a better experience? How could the pathetic Swing crap create such a big amount of pundits follwing it? I wonder if these developers are focusing on the API (which is mostly clean in Swing, I agree) as opposed to the the actual user interface. Talking about SWT, it's fast and lightweight, and it made people think that java makes sense for desktop applications (which is the exact opposite of what Swing has achieved).

    1. Re:Now that's amazing by Moraelin · · Score: 4, Interesting

      Well, guess we can both aggree that Swing is pathetic crap. But I also can't see how Swing could ever be considered a "clean API".

      E.g., take the listeners memory leak problem. I don't know of _any_ major Swing project that didn't end up chasing listener leaks. (No, home brewn programs with 5 buttons and 2 windows don't count.)

      I also know projects, and _been_ in one, which ended up throwing up a two hands salute to that problem. Basically, "screw it, we'll implement the windows/frames/whatever as singletons, or recycle them in a list for future use, rather than spend another month chasing the last listener." (If you're new in a project and the architecture involves singletons for every single frame, or recycling windows into a cache instead of closing them, that's your clue: they ran into that problem, spent weeks, and gave up on even trying any more.)

      E.g., take the idiocy of Swing being inherently non-thread-safe. Then the client comes and says "yeah, it's nice, but this loading sometimes takes 5 seconds, and in the meantime it looks like the app has crashed. Can't you display some progress bars, or something? And can't that other thing preload in the background?" Whop-de-do. Now you're cooking with threads. Time to go through the whole program, adding synchronized blocks (or synchronized child classes of the original Swing controls) everywhere. And still end up spending weeks to chase some spurrious thread problem, which occasionally crashes the Swing dispatcher thread.

      Seems to me like if you took C or C++, and any major GUI API of your choice (X or Windows, pick your poison), you'd still end up with less problems. Even adding the regular C memory leaks from the non-GUI part of that program, it usually still ends up better than the Swing equivalent. Which defeats one of the major advantages Java was supposed to have in the first place.

      Don't get me wrong, I'm not generally against Java or anything, but a Swing fan I ain't. It could be a textbook example of how _not_ to design a GUI API.

      --
      A polar bear is a cartesian bear after a coordinate transform.
    2. Re:Now that's amazing by Anonymous Coward · · Score: 3, Interesting

      "screw it, we'll implement the windows/frames/whatever as singletons, or recycle them in a list for future use, rather than spend another month chasing the last listener."

      Is there something wrong with this approach? Sounds reasonable to me. Might be a tad memory-intensive, I guess.

      Now you're cooking with threads. Time to go through the whole program, adding synchronized blocks (or synchronized child classes of the original Swing controls) everywhere.

      Not in my experience. You just use SwingUtilities.invokeLater/invokeAndWait where you would have referenced the GUI component directly. No need to "go through the whole program", just update the code that is executing in the background thread.

      Seems to me like if you took C or C++, and any major GUI API of your choice (X or Windows, pick your poison), you'd still end up with less problems.

      Hah! Now you're just being absurd.

    3. Re:Now that's amazing by Moraelin · · Score: 3, Interesting

      "Is there something wrong with this approach? Sounds reasonable to me. Might be a tad memory-intensive, I guess."

      There is nothing inherently wrong with caching already open (but invisible) frames, if that was your design to start with.

      What's wrong is that you end up _having_ to modify your architecture like that, just to get out of the inherently leak-prone design of Swing. Not because you did a performance analysis and decided to cut down on time with caching. But because you've already spent pointless weeks tracking listener allocation and deallocation, you're already hopelessly past the deadline, and still can't get Swing's normal architecture to work right.

      Either that, or to give an example from another actual project, you end up extending every single Swing class to include some form of listener tracking, and a baroque dispatcher mechanism to help with that. (Ironically enough, in the end they still ended up with the "closed window cache" way out, when some new team members failed to use that baroque dispatcher properly.)

      Either way it's extra work, which shouldn't have been there. Why are listeners hard references anyway? Why can't they be a soft or weak reference that doesn't prevent garbage collection? Why do I have to go through loops like that just to get a frame out of memory? Wasn't the whole idea of Java and its Garbage Collector to _avoid_ personally tracking pointers?

      I.e., why can't it be like, say, the Windows API, where I never had to do such silly tricks? I'd just close the window, any child windows or controlls would automatically get the right event, so that they too can unload any resources they keep, and that would be it.

      --
      A polar bear is a cartesian bear after a coordinate transform.
    4. Re:Now that's amazing by bay43270 · · Score: 5, Insightful

      It sounds like you just don't know how to use swing. Any API you use for GUI development requires some adapting to. Swing has its issues, but the issues you're pointing out here are personal shortcomings.

      Listener leaks are due to bad programming. I really don't want to take the time to explain solutions here. You can do some research on your own. Most listener leaks will be from inter-screen communication. Try minimizing problems using an event bus or a mediator.

      The thread safety issue you describe doesn't have as much to do with thread safety as it does the single-threaded nature of Java. Most GUI apis use a single thread for event processing. Your issue with Swing seems to be that Swing paints itself on the event thread. I'm not sure how you solved the problem with synchronize blocks. Maybe you should look into SwingUtilities.invokeLater() and .invokeAndWait(). Its an extra 2 lines of code per event.

      Yes there are better solutions than Swing, but C/C++ are not among the choices.

      Now, here are a few *good* reasons to hate Swing:

      - The look and feel will NEVER look the same as the native platform
      - Swing's complexity make difficult things easy, but simple things are much more difficult than they should be. SWT fixed this by layering complex parts of the API on top of simpler ones (JFace sits above SWT providing extra functionality for more advanced uses.
      - Sun expected third party vendors to extend Swing and finish the job, but no one wants to use third party tools because of vendor lock in (something Sun promised us wouldn't be an issue with Java). As a result, most components that could be improved upon with very little effort are left untouched by Sun. At how many companies will I have to implement a table sorter, or type ahead combobox, or formatted text field (one that works, not that JFormmattedTextField crap)

  6. Not sure why by miyako · · Score: 4, Interesting

    but I've never been able to get into the swing (pun intended) of Eclipse. NetBeans has always just seemed overall more comfortable to me.
    It seems that while eclipse supports some really nice features (refactoring comes to mind), the way it handles the little things just make it seem less refined to me.
    It also seems to me that too many of the useful features for eclipse are pay-for plugins.
    Other than code refactoring and it's support of swt, can anyone point out any other benefits Eclipse provides over NetBeans or Project Builder?

    --
    Famous Last Words: "hmm...wikipedia says it's edible"
    1. Re:Not sure why by iwadasn · · Score: 3, Interesting

      Netbeans 3.6 is quite nice as well. I agree with the parent that it isn't really that slow. It's fairly slow on my OS X box (which is a G5, so there's no excuse, you hear me Apple), but at work on windows and linux it's snappy enough that I can't tell it isn't native. I really wish SUN would just bite the bullet and provide a good profiler with netbeans though. They already include a debugger, why not a profiler too? It seems like netbeans is to the level where it really just needs some additional plugins, it already pretty much surpasses visual studio in terms of usefulness as far as I'm concerned. In addition, be sure to run it on a modern VM, the newer JVMs have pretty substantially improved SWING performance. Apple's offering seems to be the weakest in this area, but it's made the most improvement from the early days, so maybe by 1.5 they'll be competitive.

    2. Re:Not sure why by Khelder · · Score: 3, Interesting

      I've been using Netbeans off and on for a few years (along with emacs), and like it pretty well. I tried Eclipse a few months ago, and I found it a lot harder to use, and I didn't like the look & feel as much in general. Some people prefer the Eclipse UI, I guess. YMMV.

      I'm running on a 2.2GHz machine, so Netbeans seems plenty responsive to me most of the time. I can understand why people on slower hardware might prefer Eclipse.

  7. Why not SWT? by agent+dero · · Score: 5, Insightful

    "however, are concerned with Eclipse's use of SWT rather than the standard Swing widget set"

    Wait, what's exactly wrong with SWT? It's not like they force you to use SWT for your projects, I have a good Swing based project in Eclipse right now.

    If anything SWT makes eclipse feel snappier, it's the IDE's choice, and doesn't have to be yours. Stop whining.

    --
    Error 407 - No creative sig found
    1. Re:Why not SWT? by RAMMS+EIN · · Score: 4, Interesting

      Nothing is wrong with SWT. SWT is what Swing (and AWT) should have been: a rich toolkit which uses native widgets where available. It's the best of all worlds: easy to code for, code runs on a wide range of platforms, it's snappy (why are Swing widgets "lightweight" if they are a full implementation rather than a thin wrapper?!), and fits in with the native look and feel about as well as you can hope for.

      Personally, I use AWT, because it's more standard. That is, when I use Java at all.

      --
      Please correct me if I got my facts wrong.
    2. Re:Why not SWT? by bay43270 · · Score: 2, Informative

      why are Swing widgets "lightweight" if they are a full implementation rather than a thin wrapper

      The term 'Lightweight' refers to the interaction with the operating system, not the size of the source code.

    3. Re:Why not SWT? by caseih · · Score: 5, Informative

      The SwingWT project gives you the best of both worlds for developing your Java GUIs. It's an in-progress implementation of the Swing and AWT apis using SWT to draw the widgets. Looks much, much better than Swing, but still lets you use the nice API that many developers like. And for platforms where SWT isn't running, you can go back to the normal Swing classes. Java 1.5's Swing is supposed to be much more themeable and support anti-aliased fonts, so that will mitigate a lot of Swing's ugliness.

  8. How about you write a plugin for ecplise then? by Phil+John · · Score: 4, Informative

    That's the beaty of it, it's not just a Java IDE, it can be anything.

    There's already a plugin that mostly works for editing PHP so why don't you get a few java/ruby hackers together and create one?)

    As for a mail reader, I don't know about that, but there is tetris and snake available :o)

    --
    I am NaN
  9. Eh? by lpontiac · · Score: 2, Interesting

    Is it an IDE? Is it a GUI toolkit? Is it a component architecture?

    As an outsider with no knowledge of Eclipse, I find it hard to figure out what exactly Eclipse is supposed to be .. in fact, I feel exactly the way I did about .NET back when Microsoft was branding everything as .NET, and the entire development community just stood around asking, what the fuck is .NET?

    1. Re:Eh? by primus_sucks · · Score: 4, Informative

      Eclipse is a framework for developing client side applications - i.e, it makes it far faster and easier (once you learn it anyway!) to create client applications. It makes it easy to create "Views", "Editors", "Perspectives", wizards, dialogs, property editors, etc., and connect them all together. It's created with the SWT GUI toolkit, which is far better/faster than Swing. One such client application, what many people think of as "Eclipse", is the Java IDE. If you need to create a complex, cross-platform client application in Java, the Eclipse framework would be good way to do it.

    2. Re:Eh? by Phil+John · · Score: 4, Informative

      Eclipse is an extensible application framework.

      At the moment it's been extended to be useful in writing Java programs (code completion, code folding, code refactoring etc).

      There is also a PHP plugin/development mode in active development (it is now somewhat useable). The real crux of ecplise is that it can be whatever you want it to be (but a lot of people, myself included simply use it as a kick ass Java IDE).

      --
      I am NaN
  10. Been using eclipse for a few years.... by mikera · · Score: 4, Interesting

    ...and it keeps getting better and better. I'm off to download my copy right now!

    I seriously think that more open source developers should get behind eclipse, even if they don't use Java as their primary language. Right now it's probably the *only* free software IDE that has the potential to match Visual Studio, which like it or not is an awesome product for developers.

    Want to contribute to open source? Write some quality plugins for eclipse and you can't go far wrong.

    Meanwhile, does anyone have any tips for getting Eclipse for Sourceforge? I'm using it for my own little free software project but haven't been able to connect the damn thing to CVS. Perhaps v3.0 has fixed that?

  11. What's wrong with SWT? by metamatic · · Score: 2, Interesting

    Well, as far as I can tell there's no useful documentation for SWT, which is a bit of a disadvantage. Take a look at the Eclipse documentation page--where's the SWT documentation, let alone the JFace documentation?

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  12. Eclipse - Needs more UI refinement by stun · · Score: 2, Interesting
    IMHO, Although Eclipse has come a long way, there're parts of it that drive me insane.
    Here's a short comparison to VS .NET

    I'm a Visual Studio .NET guy. I'm not saying VS .NET is a 100% bug free program, but however it has these features.

    1. really "intelligent" to know the context
    2. faster (or) more responsive than any other IDE
    3. language parser works unobtrusivly while coding
    4. Customization of the IDE GUI is easy
    I spent a long time trying to figure out how to remap Shortcut keys in Eclipse,
    and it made me so frustrated to the point that I stopped trying.

    Just those above 4 reasons make me love VS .NET

    What makes a great IDE is getting rid of those small annoyances
    rather than having a very great feature in the first place for me.

    What do you guys think?

  13. Well, FreeRIDE is coming along I hear... by maddog2o_2o · · Score: 2, Informative
    Well, the folks at FreeRIDE have a nice little Ruby IDE (Screenshots), written in Ruby using FXRuby, that covers most programming needs. It has a shiny plugin architecture so folks can add on extra tools.

    They even have a Refactoring Support Plugin newly included these days. It appears to include

    Rename Local Variable

    Rename Instance Variable

    Rename Class Variable

    Rename Global Variable

    Rename Method

    Rename Constant

    Extract Method

    Pull Up Method

    Pull Down Method

    It (the Plugin) was written by the folks behind the Ruby Refactoring Browser which also seems to work under EMACS .. huh, go figure. ;)

    I haven't used FreeRIDE in awhile as I'm busy staring at code here and don't want to switch editors in midstream really, but it's coming along slowly but surely. Maybe it'll be what you're looking for.

    Kevin

  14. Hardly Hardly a comparison by fcgreg · · Score: 2, Informative

    I would hardly call your post a comparison -- all you did was list a few bullets about VS .NET. I guess we're supposed to assume that Eclipse does NOT have any of the listed traits? Hmmm, I'll have to disagree there.

    Furthermore, I think you've made a common mistake in assuming that Eclipse is only an IDE. Rather, it is an application framework that is particularly well suited for an IDE, among other things. Many people see the Java Development Toolkit, with is often distributed with Eclipse, and assume they are one in the same. But I digress.

    I think your bullets need more background to fully understand them, but I'll take a shot. Let's take this point by point:

    1. really "intelligent" to know the context : I'm not exactly sure what this means. Again, Eclipse is a framework, but I'll assume you mean the Java development environment. In all of my experience with it, I find the JDT to be EXTREMELY intelligent. As of the 2.1/3.0 era of JDT, the IDE can tell me everything about every type of class/project I am using, gives me unbelievable code completion, gives me every compiler flag and optimization I can think of using, pop-up context displays of class characteristics and JavaDocs on mouse-over, etc. I could go on and on. Without more clarification on what you're going for, I won't bother.
    2. Faster (or) more responsive than any other IDE : I guess this would have to be quantified in some meaningful way, so I'll make my comments here simple. In the Eclipse JDT, loading times depend on your Workspace, which Perspectives you are opening, etc. I have been perfectly happy with the loading times of my environment. If I want something faster, I don't have as much open.
    3. language parser works unobtrusively while coding : Again, I think you're assuming the Java development environment here not Eclipse. In my Eclipse/JDT environment, I enjoy full syntax highlighting, code auto-formatting, compile-checking, etc., without any noticeable hesitation. Furthermore, I can skip options and reformat as necessary with a simple keystroke or by simply typing right over its suggestions. I don't see anything obtrusive can you quantify your statement? Also, considering that my development laptop is by NO MEANS the latest and greatest in the hardware arena, I don't think that is a major factor (although I do have a nice amount of RAM).
    4. Customization of the IDE GUI is easy : Let me respond like this: I recently reinstalled my Eclipse environment from scratch (for reasons unrelated to anything discussed here). After installing, it took me about 5 minutes or so to have my customized development environment customized again, including rearranging of the standard window docking, new perspectives open, special views enabled, compiler options configured and custom tools (like JUnit) in place. I will say that I've never tried to rearrange the standard key mappings, so I can't respond there.

    Your comments make me wonder which version of Eclipse and the JDT environment you last tried. In any case, if you're a VS .NET developer then you may not be interested in the JDT anyway. Did you know that there is a budding C/C++ IDE environment for Eclipse as well (as well as for PHP and other languages)? Perhaps you were referring to one of them?

    While I do agree with your statement about lack of annoyances over features, my real purpose in an IDE is to make me more productive. If it doesn't do that, I'll use VIM or JEdit.

    --
    Greg T.
  15. Press release quote by Nicopa · · Score: 2, Funny

    Here's the Eclipse 3.0 press release.

    A quote from it:

    " support for national languages through I18N-style internationalization".

    How do you pronounce that? internationalization-style internationalization!

  16. Re:But still no full support for 1.5 by g_lightyear · · Score: 3, Informative

    Just so that everyone knows:

    Concurrent with development of 3.0, and slated for a post-3.0 release, is a complete early preview of J2SE 1.5 support, codenamed "Cheetah", last release 2004/05/17.

    http://dev.eclipse.org/viewcvs/index.cgi/%7Echec ko ut%7E/jdt-core-home/r3.0/main.html#updates

    Instructions are there for downloading and maintaining the most recent version of Cheetah via the Eclipse Update Manager, which will install and update any installed version of this plugin once installed.

    Currently supported include JCK 1.5 compliance, claiming, at the time of writing, 97.32% (271 test failures remain) compliancy; broad support for most of the generic types functionality (except covariance), and support for the enhanced for loops (but missing autoboxing, enumerations, static imports, metadata.)

    It is unfinished; it won't make 3.0 release, but will hopefully reach feature completion around the time that JDK 1.5 is actually released.

    --
    -- A mind is a terrible thing.
  17. Re:HardlyHardly a comparison by Da+VinMan · · Score: 2, Interesting

    I wouldn't call the parent to your post particularly well worded, but I think his point was that it isn't necessarily easy to get all the features you want in Eclipse to work. I know, I've been there too. In fact, I'm no longer there. I'm using JBuilder now. Is JBuilder more powerful than Eclipse? Probably not; it may even be less powerful over the long haul. But it gets the job done without fuss. It doesn't get in my way. It doesn't require me to download 99 add-ons and configure each one. Etc. etc...

    I also have used VS.NET, and I can tell you that folks from that camp have some very high standards for what makes a good IDE. We (or at least, I) are/am not patient with "application development frameworks" that masquerade as IDEs. If Eclipse isn't first and foremost an IDE (which is also extensible), its usability will suffer.

    Having said all that, I would love to get an in your face response of "hell download these two files and install and you'll have the Java IDE to end all Java IDEs with Tomcat support, JSP debugging, UML, CVS, code completion, code standards auditing, code optimization, blah blah blah support". I would love that. I would love to be wrong because I would love to be able to run all the way to the bank with such a product.

    Go on then... let's see it.

    Oh, and I am downloading Eclipse 3.0 RC3 just to take a look-see. What else do I need?

    --
    Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
  18. What? by glenroe · · Score: 2, Informative

    The latest status report on the eclipse site as of 10am CDT says

    Friday June 25, 2004 10:15 EDT Status: A rebuild of RC4 will happen at 12:00 EDT to include last-minute doc problems (only).

    The release is due some time next week.