On Plug-ins and Extensible Architectures
gManZboy writes "Developers who want a flexible, configurable, IDE have long preferred plug-in architectures such as Eclipse over what they might view as the bloated, monolithic alternatives. Ever wondered how it all works? Well, ACM Queue just posted an article by someone who has worked on Eclipse since its inception, Dorian Birsan. He gives a great explanation of the Eclipse architecture as well as a thorough analysis of things to watch out for when developing or working with pure plug-in architectures."
Is bloat really a problem with too many features or more to do with bad coding?
How long is it before someone has so many plugins installed they are back to square one for bloat? Any operating system runs well when you first start it up. Users run into bloat problems after they have installed weatherbug, messenger programs and all the other crap they must have.
I love Eclipse actually, it doesn't do everything that I want though, for example MS .NET studio allows attaching to an already running process and debug it but Eclipse does not. It maybe due to Java limitations and maybe this feature will appear sometime in the future, but maybe it is just not possible to do? I am not sure.
Now look at Hurd. Hurd is a plugin environment if I understand it correctly, but it is too low level, but I still wonder, will it be possible to use Hurd as not only OS level runtime but for high level apps?
Just a thought.
You can't handle the truth.
Seems that the plugin-based architecture of eclipse hasn't helped a bit with loading times. On my athlonxp 2100 with 768mb ram, it takes about 15 seconds to load, same as netbeans.
Netbeans also has very good html/xml syntax highlighting and completion. I hope Eclipse 3.1 plays catchup on this.
Open Source Java Web Forum with LDAP authentication
I tried Eclipse a while back - the first thing I do with any programming editor is of course to load a text file and try editing it.
So I try to open a random xml file on my hard disk, and, er...wait, hang on, you can't do that. You can only load a file if it's in your project (or view or solution or whatever word it is that Eclipse uses).
I researched a bit, and found some other people ranting about this, but the official line was you should add such files to your project if you want to edit them, it's the right thing to do, blah blah blah.
Call me stupid, but that kind of language lawyer prescriptive idiocy is what I try to avoid, so I went straight back to my bloated monolithic IDE that nevertheless let me load whatever the hell file I want.
I'm downloading the latest version now to see if it will let me execute a technological marvel such as loading a file I want to edit...we'll see.
(Although the last time I tried Eclipse it took me fecking ages to get a JVM set up that would even allow it to start up - "run anywhere", indeed...)
I find it amusing that the article even calls the plug-in manager the "kernel". It seems like the research into this field is basically working on some meta-OS rather than something that will provide real extensibility to a system. All it tells me is that OSs need better interface specifications to provide what folks are looking for and so write their own meta-OS.
"There are a dozen opinions on a matter until you know the truth. Then there is only one." - CS Lewis (paraprhase)
I think you're right, they must have been joking.
My installed eclipse takes up 99.9 megs and requires a 80 meg JDK and all that bloat, still doesn't make me want to stop using vim.
The developers of the GPLed C# IDE wrote some well-presented documentation that discusses in part their add-in architecture: "SODA - SharpDevelop Open Development Architecture Almost all mid to large size software projects have some sort of add-in architecture. An add-in is basically an extension to the functionality of the main application. The common way to introduce an add-in structure is to load libraries from a specific directory at runtime. (Author: Mike Krueger)"
Beta only seems to work for Google. Such a shame.
being an IBM shop we have seen many of our beloved (read:working) tools being phased out in favor of an Eclipse based solution.
So far the net result has been bloated and very slow loading applications. The minimum memory requirement is 512mb with 1gb being recommended on user groups.
After my experience with it at work I would not touch it at home. Not a single developer here uses Eclipse, they all prefer to use the older programs that are no longer supported or are being phased out.
* Winners compare their achievements to their goals, losers compare theirs to that of others.
I just read a earlier a long string of bashes around java & Open Office and then this item about Eclipse.
...
Let me tell you this.
A furiously anti-java, C++ist, debianist friend of mine tried it and found it cool for his C++ development !
It is a living demonstration that all that religious wrath around java is a non-sens.
Compared to the usual "Java is slow, Swing stinks, it closed source for playmobile developers."
Eclipse is fast, GTK native, full open-source with a very well done plugin architecture
You even have a full GCJ port for the zealots :
http://klomp.org/mark/gij_eclipse/
I've been impressed with Kdevelop since the 3.x rewrite (Gideon).
It has a plugin architecture, is native, and even has a decent vi editor kpart via yzis.
And I believe the killer feature of Kdevelop is the ability to import autotools projects - which is basically everything in the open source world.
Eclipse (CDT/C++ plugin) doesn't have this ability yet.
The other night I imported KDElibs straight from cvs, it parsed everything out, I had my class browser with the entire kdelibs project there, changed some configure options, and built the whole thing within the IDE.
Emacs NT /usr/bin/bash --login -i
Cygwin
c:\cygwin\bin\rxvt.exe -fn "Lucida Console-11" -bg DarkSlateGray -fg Wheat -cr Orchid -sl 10240 -tn xterm -g 170x70 -e
perl
and
ant 1.6.1
Each is for a special purpose.
To bring it back to the article, the Eclipse plugins I use are the visual Ant Task validator, the Debug mode with process attach, code completion, debug groups [coming in 3.1] and a whole host of others.
The single best features are auto-compile and a usable dropdown class explorer. Emacs speedbar cannot come close to comlete overview of the whole project with 3000+ classes.
Horses for courses. Eclipse is no panacea, but it is darn good at what it does, and there are a great range of plugins.
[% slash_sig_val.text %]