Eclipse Reaches Version 3.0 70
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."
Great, if you program Java... (Score:2, Interesting)
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?
BitTorrent? (Score:5, Interesting)
Now that's amazing (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).
Not sure why (Score:5, Interesting)
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?
Re:Why not SWT? (Score:5, Interesting)
Personally, I use AWT, because it's more standard. That is, when I use Java at all.
Eh? (Score:3, Interesting)
As an outsider with no knowledge of Eclipse, I find it hard to figure out what exactly Eclipse is supposed to be
Re:Now that's amazing (Score:4, Interesting)
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.
Re:Not sure why (Score:3, Interesting)
Re:Now that's amazing (Score:3, Interesting)
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.
Re:Now that's amazing (Score:4, Interesting)
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.
Been using eclipse for a few years.... (Score:5, Interesting)
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?
Re:Not sure why (Score:4, Interesting)
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.
What's wrong with SWT? (Score:3, Interesting)
Eclipse - Needs more UI refinement (Score:2, Interesting)
Here's a short comparison to VS
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.
and it made me so frustrated to the point that I stopped trying.
Just those above 4 reasons make me love VS
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?
Re:HardlyHardly a comparison (Score:3, Interesting)
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?