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."
I hate to sound cliche, but... (Score:2, Funny)
I just finished downloading Release Candidate 3!
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?
How about you write a plugin for ecplise then? (Score:5, Informative)
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
You're obviously trolling, but I'll rebute..... (Score:2)
As for the other two, slow? With JIT compilation and IBM's SWT it feels no slower than any native apps I use (same goes for Azureus bittorrent client).
Memory sucking? Pah, Firefox with four tabs is currently using 75Mb, Eclipse on the other hand with 30+ source files open is using 60. Cubase SX when I use it regularly consumes more than 300Mb, just to put things into perspective.
There are several plugins that allow development of both swing an
Re:How about you write a plugin for ecplise then? (Score:1)
Re:Great, if you program Java... (Score:5, Informative)
Well, FreeRIDE is coming along I hear... (Score:2, Informative)
They even have a Refactoring Support Plugin [rubyforge.org] 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 be
Re:But still no full support for 1.5 (Score:4, Informative)
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/%7Eche
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.
Eclipse + Python (Score:5, Informative)
Re:Eclipse + Python (Score:2)
Re:Eclipse + Python (Score:1)
BitTorrent? (Score:5, Interesting)
Re:BitTorrent? (Score:5, Informative)
Re:BitTorrent? (Score:1)
From the press release...
So, we need to wait for a few more days before it is available.
Re:BitTorrent? (Score:5, Funny)
"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."
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).
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:Now that's amazing (Score:2)
Yeah, I've run into that. Sheer laziness or incompetence on the part of Sun, no idea which. Either way, it's put me off Swing.
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
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.
Re:Now that's amazing (Score:5, Insightful)
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
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)
Re:Now that's amazing (Score:2)
Give me some minimal credit, people. I know how to invoke later. For tiny projects where you only need to invoke later, but don't actually share any collections between a thread and a GUI model, it even works wonderfully.
I also know that every single collection class throws an exception if you change it while someone (e.g.: a Swing component) traverses it with an iterator. And therein lies the problem.
W
Re:Now that's amazing (Score:2)
Contrary to the mistake everyone makes when they start with Java, just using a Vector or declaring every single method as synchronized doesn't even start to cut it. You'll still get rare race condition exceptions if you do only that, as soon as one thread uses an Iterator.
To actually use a collection in a truly thread-safe manner, you have to separately synchronize in a way where every single iterator loop is in a synchr
Re:Now that's amazing (Score:1, Insightful)
Why do that? Why not use a producer/consumer approach? I assume that the background thread is producing data that needs to be displayed in the GUI. So, instead of having the background thread update a shared collection, make the background thread pass each piece of data to the GUI using Swing.invokeLater/invokeAndWait.
I
Re:Now that's amazing (Score:1)
As for working with Threads, yeah, your're right. But it's not that bad. Anyways, I think that under
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:Not sure why (Score:3, Interesting)
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.
Re:Not sure why (Score:1)
--
lds
Re:Not sure why (Score:1)
I personally like NetBeans better, however the CVS support included with Eclipse is fantastic, I still haven't managed to get it working properly in NetBeans.
Why not SWT? (Score:5, Insightful)
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.
Re:Why not SWT? (Score:5, Interesting)
Personally, I use AWT, because it's more standard. That is, when I use Java at all.
Re:Why not SWT? (Score:3, Informative)
The term 'Lightweight' refers to the interaction with the operating system, not the size of the source code.
Re:Why not SWT? (Score:5, Informative)
What's wrong with SWT? (Score:3, Interesting)
Re:Why not SWT? (Score:1)
If you use Eclipse you might want to extend it...
A more serious point would be: a thing that Sun was so afraid OSSing Java would do (a fork) has been done by IBM. We now have TWO desktop Javas: OSGi/SWT (Eclipse platform) vs JavaWebStart/Swing (J2SE)...
How to fix it? Make SWT (and OSGi?) a part of J2SE ASAP. I guess it should be obvious for Sun that resist
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:Eh? (Score:1)
Eclipse has grown from being an open-source IDE framework, with an 'example' IDE for Java, into a general application framework, still with an 'example' application, being a Java IDE.
The fact that the Java IDE is superb helps matters.
Re:Eh? (Score:5, Informative)
Re:Eh? (Score:2)
Re:Eh? (Score:1)
Because we had to wo
Re:Eh? (Score:5, Informative)
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).
Re:Eh? (Score:1)
Oblig... (Score:2)
Re:Oblig... (Score:1)
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:Been using eclipse for a few years.... (Score:1)
Re:Been using eclipse for a few years.... (Score:1)
Guess I'll just keep plugging away till I find some configuration that works...
What's wrong with having 2 GUI toolkits? (Score:2)
In C++ there are tons of GUI toolkits/API's, and this is a bad situation, but I wouldn't want there to be only one. Ideally, C++ would have 2 or (at most) 3 primary toolkits, one for native widgets, one for cross-platform widgets, and maybe one that draws it's own widgets.
There is another possible role fo
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.
I spent a long time trying to figure out how to remap Shortcut keys in Eclipse,
and it made me
Hardly Hardly a comparison (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
Re:HardlyHardly a comparison (Score:3, Interesting)
Re:HardlyHardly a comparison (Score:2)
Press release quote (Score:3, Funny)
Here's the Eclipse 3.0 press release [businesswire.com].
A quote from it:
How do you pronounce that? internationalization-style internationalization!
What? (Score:2, Informative)
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.