First Thoughts on the Eclipse IDE?
OpenSourcerer asks: "Has anyone used the opensource IDE Eclipse. Initial impression is that of a slightly slow but very modular and configurable IDE. Anyone else has any experience using this?" I must say that the idea is novel enough, instead of building an environment around a specific language/compiler, you build a framework and have plugins support the specific features that you want. Java development tools have already been released and it looks like the C/C++ project is just getting under way. For those of you who have given the Eclipse project a quick look, what do you think?
It runs on linux, but looks like ass, and is slow. It runs and looks *great* on win2k, though.
Until the very latest devel builds, it was a Motif app (*gag*). They've just started work on a GTK+ version, but it's broooooken. In lots of ways.
I intend to start working/playing with it, but I'm not a C guy, I'm a Java guy, and can't contribute much to the core of the editor, I'm afraid.
Conceptually, it's brilliant, and the greatest thing since sliced kielbasa.
cheers,
Chris
http://resumes.dice.com/objectnetworks
Eclipse is the best looking Java app I've ever seen. Congrats to IBM for taking the bold step of not using AWT/Swing, and replacing it with something decent (SWT/JFace).
The problems that come up will be "sins of omission". In order to avoid breaking a generalized interface, plugin makers may not create an interface the way that makes the most sense for a certain language.
Eg: has anyone used Visual Basic? The interface is built around what the language is good at (and the interface is a main reason for its popularity). While the same functionality could have come via a plugin, likely it wouldn't have. Instead, a tool like the form editor would be bundled with the other resources, rather than front and center in coding. This makes coding other types of projects awkward, but they aren't VB's strengths anyway...
In short, I think there are advantages to building a UI solely around a specific language.
Let's not stir that bag of worms...
i've been using eclipse for 4 months or so and think it's the best IDE i've ever used. I don't think it's slow.. well it's still not a native app. and the motif stuff on *nix is still a bit slow but on windows and with the swt gtk bindings it rocks.
during the past months i haven't experienced any crashes or loss of data even though i'm on the integration builds.
to sum it up. a great platform which improves with every release.
From the project page:
"an open extensible IDE for anything but nothing in particular...[value comes from] plug-ins that "teach" eclipse how to work with things"
Isn't that one description of emacs as well. Emacs has a, probably, justified reputation as being hard to use and extend. But is it really going to be that much easier to write extensions for Eclipse? And are those extension writers really going to make the extensions easy to use and with a consistant user interface? I have my doubts on both counts.
And the subject line was rhetorical.
I used for a few days to see if I liked it. I ran it on Linux. The thing I hate the most was the user interface speed, and look. IBM didn't use standard AWT and Swing to create the user interface, but some IBM propriatary package. Not only does this seem to make it slow, but it is also God aweful on Linux.
Frankly the features may be better than anything else (free) on the market, but they can't make up for the UI. Currently I am using a demo of IDEA, and am quickly falling in love with it. Fastest Java IDE I have used to date, which isn't saying a lot.
IBM has to come up to speed a bit with the UI in order to compete on linux. Until they do, I will be staying well away from it.
-Pete
Soccer Goal Plans
Heh, I just can't get over the fact that the IDE we've been using internally for the last 6 months is getting so much play on slashdot and in the world-at-large.
One thing that's important to remember about eclipse is that it is a great deal more than your basic IDE. The pluggability really means that anything you can do in Java (or in principle, any language), you can make eclipse do. My department is focused entirely on using eclipse as an *application platform*. Think big. Yes, you can make it into a C/C++/Scheme/ML IDE, think bigger. Yes, you could definitely write a word processor plugin, and maybe plugin-ize an existing product. Think bigger. There's no reason in principle why you couldn't make a set of plugins that, for instance, made eclipse into something like zope or websphere -- your IDE could let you edit your php/jsp/perl, and then act as your development webserver too, for rapid prototyping. I dunno, I'm just pulling random things out of the air :) The point is, calling it modular might not be... emphatic enough. :)
As an IDE, it's pretty solid, I definitely encourage java developers to check it out, and as the C/C++ plugins solidify, I expect I'll move to it for my own C/C++ development too, if for no other reason than that I use it at work all the time. :) One thing that is both a blessing and a curse is that it does not (at least, our internal versions do not) come with a repository system a la Visual Age (IBM's older, less extensible Java IDE) -- instead that's up to you - we have teams using basic file system, cvs, cvs over ssh, and CMVC (a defect tracking and team file management tool that I imagine few outside IBM have ever seen. :) A curse in that out-of-the-box, you don't have team-managed repositories working like in VAJ, but a blessing in that you get to set up whatever fool system you like, maybe even keep whatever system you're already using. :)
Anyhow, just a few thoughts, the previous posts I've seen on eclipse seem to understate its extensibility. It's got the potential to be this decade's emacs - the application that is almost an operating system. :)
For instance, VAJ was always difficult to use with CVS, but Eclipse support for CVS could not be better. Really outstanding.
Eclipse does need more memory than VAJ did (I run both on an IBM Aptiva with 64 mb of memory and the difference is notable) but given enough memory it runs fine. For those reporting stability problems remember that Eclipse runs under Java and all Java IDEs under Linux are not equal. IBM's tend to work best but they aren't flawless. The IBM JDK does work better than Sun/Blackdown for running Eclipse so try that and see if you don't like Eclipse better.
Eclipse so far lacks a GUI design tool but there seem to be several people at IBM and elsewhere working on one, so we should have several to choose from in time.
I like very much that Eclipse is the base for IBM's commercial offering WebSphere Application Developer (the successor to Visual Age for Java). This means that most plugins written for Windows should also be available on the Linux side and that IBM should be able to offer a Linux version of WSAD without much extra effort (something that probably wasn't true of VAJ.)
I find Eclipse very useable on its own and it has been a great help to my own free software project.
The technology is very well thought out. What seperates it from things like NetBeans is that plugsins are beyond first-class objects: they are the only type of object.
Let me explain. Everything in Eclipse is a plugin. Plugins publish (as XML) things called "extension points" that other plugins hook into. All that XML is processed at bootup time, and it allows the basic Eclipse engine to do a lot without loading much Java code. Plugins declare new menu items, tool bars, editors, actions, whatever but no Java code is loaded until the user actively selects on of those new options.
I'm personally looking forward to writing some plugsin related to by own open source project, Tapestry.
I've also been very impressed by their very open process. They have an open Bugzilla and very quick response times to bugs and issues. Several suggestions I've made have already made it into the project, and they don't know me from Adam. Eclipse is not perfect, but they are very keen on improving the rough edges.
The interface is very clean and configurable, it really molds to how you, the user, want to run things. All those draggable views and all.
There's already a C/C++ plugin. I'd love to see a Python plugin (perhaps using Jython?). There's a huge amount of functionality that hasn't been documented yet (do I smell an O'Reilly book?).
I find it to be about has fast as Netbeans on my work machine (PIII 1ghz, 512MB) and a lot easier and more intuitive to use and configure. The UI is snappier (and prettier), and its loaded with features. It's like Emacs, you keep discoverring new things it does.