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?
What's so novel about this? emacs has been like this for years!
Go not to the Elves for counsel, for they will say both no and yes
..accomplishes much of what Elipse is trying to do. I have even used VS to step through Lex.
I am very small, utmostly microscopic.
Languages are pluggable and use the same forms designer and property editor. Haven't used it much though, I'll have to see how overall usability of the IDE is in the long term.
-
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
What sort of "mission critical" things are you talking about when it comes to IDE's? I mean, if it doesn't work, you just take out the offending plugin and do it without it. It's not like an IDE has to be a high-availability server-type thing. Obviously, it can't always be breaking and crashing or productivity suffers, but it's not like one crash of a properly backed-up project is going to end things.
If it ain't broke, you need more software.
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).
Isn't this what ActiveState is trying to do with Komodo?
I use Komodo for all my at-home development of Python/Perl/HTML/Javascript/etc, and actually quite like it.
MadCow.
I used to have a sig, but I set it free and it never came back.
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.
I tried this this app a few weeks ago, it's modular and configurable and has potential. It actually runs fairly fast under windows because they implemented their own (native to windows) GUI api (not Swing which is slow as hell). Basically I spent the whole time experimenting with just the Java GUI library they supply with it because I'm tired of watching my Swing apps chug along. As far as IDEs go... I work faster in others, much faster.
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 did a review of a few of the IDEs out there ,primarily for their java stuff. Based on my short try out, Eclipse wasn't wuite there for the Java stuff, but that would have been the plug in. I ended up with IDEA, and we'll probably have a few people here singing it's praises.
I think that the IDE still really needs to understanf the language to be effective, but maybe the plug-ins will solve that.
The cool things in IDEA, and I would love to see in Eclipse, is the refactorings, the ability to have multiple configurations for running and debugging in a single project (nice for unit tests), and the ability to run one program while debugging another, great for client-server type programming (If you view Servlets as the client, and EJBs as the server, but would work for other stuff as well.)
Yes I looked at netbeans. I just don't have the desktop programming power to make it run fast enough,especially doing a JBoss recycle. but I'll periodically re-evalute the options for my shop.
Open Source Identity Management: FreeIPA.org
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
I have used it for a little while now and I have to say it is pretty nice. It includes allot of the best features of Visual Age for Java and makes those available for other langauges. It is a bit slow, but as Java apps go its not bad at all. Compared to JBuilder or Forte its veritable speed deamon (althow start up is rather slow).
I'm a programmer, I don't have to spell correctly; I just have to spell consistently
Irritating wheel-reinvention, to an extent - NetBeans/Forte covers a lot of the same ground for pluggable IDEs - NetBeans 3 already supports Java, various scripting languages, XML, CVS, and has branched out into C/C++ support, and has a mature plugin API that works very well, based on dropping JavaBeans components conforming to particular interfaces into the IDE.
And, worst of all, despite Eclipse's much-vaunted "It's not Swing/Awt!" approach, I've found that the Netbeans Swing UI actually seems to be pretty good on my Linux box, while I've been hearing reports of Eclips'es GUI sucking on Linux.
In Eclipse's favour, it'll probably inherit VisualAge's GUI Beanbox from IBM, and that's much better than forte's Beanbox.
So far I haven't seen any evidence of cooperation between Eclipse and NetBeans. Sigh.
Choice of masters is not freedom.
You can't change the background color of the Java editing pane. Sounds silly, but important to me.
.classpath file in the project. WTF?
/.)
It has a cool feature of saving your recent changes. You can go back and diff the current file with all the changes you have saved and insert a previous change on a per-method basis, for example. Way better than unlimited undos, which a lot of editors have. Kind of a mini-source control available for those "oh shit" moments of deletion. You can set how long previous changes are saved. Neato.
Appending the classpath was unintuitive. I had to add a variable in a pref somewhere and then reference it in my
The views were very cool. You could switch among different views of your project at the click of a button. But I couldn't get the font small enough for my liking.
Only one real refactoring tool, extract method, is available. I can't remember if I got it to work or not.
But, in the end, I am going to spend actual $$ for Idea's IntelliJ - http://www.intellij.com. It's only $200 until 1/10. This is truly the Java editor of the gods.
Try it, you'll see. (I don't work for em.)
(this is my first post to
I was really positive about the technology it's built on from reading about it. Unfortunately when I installed it on my RedHat 7.2 box I got a rude shock... Even pure Java editors like Jext and Forte were blindingly fast compared to Eclipse. The box is a dual PIII 450 with 512 megs of ram, and Eclipse took more than a minute to open, then I could go get a cup of coffee between screen refreshes. I was the only one logged in and I don't run any servers on it, so the box was definately not low on resources.
I heard similar things from other people trying to use it under Linux and decided to leave it for a while. Have any workarounds been found?
screenshots can be found here :o)
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.
If I'm understanding this correctly, there is a plug-in arbitecture for the IDE to allow it to be customized to anyone's needs.
Guess what? Metrowerks has been doing this for years. CodeWarrior was modular and allowed the user/developer to extend the IDE in pretty much unlimited ways.
± 29 dB
NeXT (and now Apple) have Project Builder and Interface Builder, which were language neutral, and PB supports Java, C, C++, Objective-C, and people can make plugins to support various other languages.
It's the magic of O-O when applied properly. And those tools existed at least as far back as 1989!
i - This sig provided by
The Eclipse project has only been OSS since November 2001. At the project's current state, the developers are probably not very interested in the support efforts of (1) developers who can't compile their development tools, (2) Linux users who can't deal with RPM interdependencies, or (3) developers who primarily pick their development tools based on website screenshots.
;)
The people using this software should currently be the ones reading the source code... or at least ones capable of doing it. That's the way these projects reach a user-friendly state, rather than sinking into the negative murmurings of a thousand well-meaning users who aren't qualified to touch alpha code.
Of course, previous versions of the Linux-based UI were based off of Motif... would >you post screenshots of a Motif-based app?
Check out this article for some political background on Netbeans vs. Eclipse. Does not go into technical details unfortunately.
FWIW, Borland knew this would happen to them if they did JBuilder entirely in Java, so most of it is done in what I assume is C++ (or Delphi, whatever. Anything that compiles). IMO JBuilder is the best dedicated Java editor, hands down (for Windows).
FWIW (sarcasm) JBuilder is written in 100% Pure Java. This, of course, completely refutes your entire point. Sorry. ;-)
Java is _plenty_ fast on modern machines.
299,792,458 m/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
This is because it invokes javac (or whatever compiler you're using) once for every changed file, and javac is slow as hell to startup (create a new VM, load the compiler classes and so on).
Ant only invokes javac once, reusing the same VM, thus saving you tons of time.
Completely
Masochistic
Version
Control
CMVC was unbelievably painful to use.
*shiver*
Ok, that's the end of my nightmare flashback.
He could be using a really old version of JBuilder. The first few ( I think 3 and below ) were not written in 100% pure java. Once they switched it was less snappy at first (compared to the old one), but once you get a slightly faster processor, it worked fine.
Eclipse brings in some features from VisualAge for Java that I've always loved. First, every single time I hit "Save", it compiles. I get immediate feedback. Second, the scrapbook rules. Being able to try a bit of Java code at any time is great.
I'm quite happy with the painless CVS integration. Eclipse has the easiest CVS/SSH setup I've ever seen. I'm able to reference multiple CVS repositories from my workspace without even thinking about it.
The different perspectives take getting used to. I still get lost from time to time. I don't know which one I'm in and I don't know it until I get the "wrong" context menu. It doesn't help that all the perspective icons look alike.
Overall, I'm fully supporting Eclipse--even to the point of recommending it to my clients.
"Genius may have its limitations, but stupidity is not thus handicapped." --Elbert Hubbard (1856-1915)
And just how exactly (sarcasm) did you come by this amazingly insightful opinion?
Do us all a favor and check your facts before trying to "educate" people. JBuilder is not "100% pure Java" by any stretch of the imagination - not any more than my cup of Starbucks with cream is "100% pure Java".
don't bother with gcj, the hotspot compiler is much better. I tried to compile a program of mine with it. It just ended up crashing due to memory problems. Besides, your application has to be jdk 1.1 compliant and NOT use any awt to work under gcj.
I ran a micro benchmark (not the best way to test something BTW) and it ended up causeing the gcj garbage collector to fail with a seg fault because I created too many objects ( millions ).
Well, I took your advice and tried it. And I can't tell you how it is. After about 20 minutes of fiddling (why don't they have an installer?) I came up with the following:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jdi/connect/Connector
at com.intellij.debugger.a.t.a(t.java:1)
at com.intellij.project.a.b.a(b.java:14)
at com.intellij.project.a.e.d(e.java:4)
at com.intellij.project.a.e.c(e.java:15)
at com.intellij.project.a.e.a(e.java:14)
at com.intellij.idea.a.a(a.java:125)
at com.intellij.idea.Main.a(Main.java:17)
at com.intellij.idea.Main.main(Main.java:19)
Their site doesn't seem to have a knowledge base or anything either.
*shrug*
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Anybody working on a C# plug-in for Eclipse? Could Ximian's work be incorporated in here?
I have quite a bit of familiarity with JBuilder (I've been using it daily for about two years, primarily on Linux), further the information is readily available on Borland's JBuilder website in the "Features and Benefits" PDF document. To quote:
"The Borland JBuilder environment ships with the Java2 SDK 1.3 and is entirely implemented in Java for excellent platform interoperability and performance on Windows, Linux, Solaris, MacOS, and any operating system that fully supports the Java SDK 1.3."
Emphasis mine. You can apologise now. :-P
(It has been that way since JBuilder 4.)
Do us all a favor and check your facts before trying to "educate" people. JBuilder is not "100% pure Java" by any stretch of the imagination - not any more than my cup of Starbucks with cream is "100% pure Java".
Would you care for any salt with that crow? :-)
299,792,458 m/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
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.
Hey -
I've been using Eclipse now for a couple of weeks, and have managed to bring an existing Java project consisting of a couple hundred source files into it, and compiling fine.
Things I Like:
1> Great code editor. Nice highlighting of matching parens and curly braces. Fairly instantaneous pop-up of attributes and methods when you press the period.
2> JUnit integration is strong. JUnit is good -it won't solve all your problems, but it's a nice safety net.
3> CVS Integration. Good source control integration is a must, otherwise I won't use it.
Things I'm not so keen on:
1> Seems to be good for Java, but not much else. I know it's still early, but I'd like to see more support for web targetted development.
2> Since it's supposedly using Ant behind the scenes, where's the XML config, and a GUI editor for said config? That would go a long way toward fixing #1 above.
Anyhow - with CVS integration, and JUnit, I'm not looking back. NetBeans was OK - but slow as heck, even if it bundles in more functionality. I'm betting Eclipse will gain rapidly.
- Porter
And it sucks ass, big time. Ugly, intensely slow even with 640 megs of RAM.
./, I was really excited by the description, and spent a lot of time trying to get a copy from the /.-ed servers. I installed it, watched it crawl insanely (Like 30 seconds to resize a window), and laughed, wondering if this was some kind of a joke.
When this was first discussed months ago on
Best thing that happened, was it got me looking around for a Java IDE, and discovered that NetBeans had gotten infinitely better since the last time I had looked at it. I've been using it ever since. NetBeans smokes it.
Have you used the gcj in any projects?
I'm not brave enough to venture into the wilds of gcj.
IBM's Software Donation: Move To Eclipse NetBeans?
NetBeans IDE 3.3 released
IBM to open source WebSphere tools
threads on Eclipse
threads on NetBeans
threads on IDEA
Eclipse is a product of Object Technology International Inc., which also produced VisualAge for Java.
And as the article "Refactoring with Eclipse" mentioned, "...Erich Gamma is the team lead for Java tools for Eclipse. Gamma was one of the Gang of Four known for creating the book Design Patterns...". I think that Eclipse will be a high quality software.
For my current Java project, my IDE consists of NEdit plus a couple of supporting perl scripts which handle compiling, .war-ing and rebuilding my project, along with restarting tomcat (though Tomcat 4.0 doesn't need to be restarted when your classes change i hear)
my 'build.pl' invokes javac once for all the files that need compilation - it checks my source folders for changed timestamps and recompiles all the changed files with one invocation of 'javac'.
NEdit is a hell of a lot faster than JBuilder's editor, stdout isn't as slow as molasses like it is with both netbeans and JBuilder (haven't tried Eclipse yet) and i don't miss the 'IDE' features at all, though during initial development the auto-completion and GUI interface builder might come in handy.
My litte psuedo-IDE doesn't have all the features of JBuilder,Netbeans or Eclipse but its only about 100-200 lines of perl altogether and gets the job done perfectly.
My next project will be developed using Project Builder on OS X, which while not super-fast for java development , is complete, with a decent editor (though it lacks auto-complete, unless i have missed the menu option to turn this on) and stable with a very nice GUI interface builder.
I gots ta ding a ding dang my dang a long ling long
The first project that I can think that did this was turbovision, the environment used for Turbo C, Turbo Pascal, etc, and which is now used in exactly such an environment.
In fact, most of the modern professional GUIs are used for multiple languages. I have a theory as to why: the constructs of a language are basically the same, meaning that if a company wishes to create IDEs for multiple languages, then the best way would simply be to make a parser front-end that converts everything to data structures. It is therefore in their best interest to make IDEs modular.
But...I can think of a very good reason for keeping a GUIs language-independant. For languages that have it, introspection has allowed IDEs to detect structures far better than the traditional IDE - case in point is Borland's JBuilder, which can be used to modify a user interface using RAD which was hand-created (most IDEs can't do that). However, this requires that the RAD be written in the language - making it NOT language-independant.
My conclusion is that having an all-in-one IDE is kind of like having an all-in-one printer/scanner/fax. Sure, all of the features work, but none of them work really well.
Of course, I suppose we could have a GUI for C/C++, Fortran, Cobol, and Assembly, since all of those are strictly compiled (I know there are other compiled languages, but those are the ones that lots of people use).
Mod me down and I will become more powerful than you can possibly imagine!
Eclipse seems well thought out except for one thing - it's missing code completion. This is helpful for reallyLongMethodNamesInJava, for not having to look up api docs all the time to determine method calls etc.
If someone can point me to a plug-in which rectifies this for Eclipse I would be grateful.
Code completion is one of the reasons I am currently sticking with JBuilder 5 (though I am rapidly beginning to like Intellij IDEA, its refactoring support is awesome)
When I first tried Eclipse, I was very impressed.
First of all, it looks good. Much better than any other Java program I tried.
Second, it used a single main window instead of multiple floating ones. Us stupid Windows programmers find multiple floating windows visually confusing. There is nothing worse than seeing one's desktop bitmap with all those shiny icons in betweens one's editor and one's toolbar. (Even MDI is dying out as a concept and being replaced with a single window with tabs representing open files at the top. The only people still prefering MDI are traders, because they generally set their workspaces up to view as much info as possible and then just monitor them.)
Third, it's the first well-made piece of software I've ever seen from IBM. IBM has a history of producing inferior software on the PC platform. I once heard someone from IBM refer to his colleagues as "ninjas". If they spent more time working on their programs and less time dressed in black pajamas throwing metal stars, maybe their code would be better.
Fourth, the plug-in concept is well executed. Usually abstraction and usability don't go well hand in hand, but using Eclipse was just as comfortable as using JBuilder which is a Java-only IDE.
So why an I not using Eclipse? Because their Java plug-in is still not robust enough.
I had a rather large project that I was working on. It worked fine in JBuilder and JDK with Ant. But when I loaded those same files into Eclipse, simply touching some of them caused Eclipse to puke.
Must have been some programming construct I used. But if a tool doesn't offer a simple migration path, most people are not going to switch. More to that point: Why can't Eclipse import JBuilder and Forte project files? That would also ease the transition.
Dejan
www.jelovic.com
> Eclipse is designed for a much broader audience
> than Emacs.
So, like Emacs, it is also designed to be used for non-programmers? Emacs is not just designed to be an IDE, it is designed for all tasks that can somehow be conceived to be related to text editing. Aiding programmers is just one aspect.
> In addition, it's a cross-platform app, written
> almost entirely in Java (with the exception of
> JNI hooks for access to "native" widgets for
> Windows/Motif/GTK+).
You mean it is written in a propritary, unportable language, using propritary, unportable hooks, which Sun marketing have somehow managed to convince a generation of inexperienced programmers is a synonym of "portability"?
There is only one usful definition of portable, and that is ported. I bet Emacs runs on platforms that does not and will never run Java applications, certainly not ones relying on Windows/Motif/Gtk+ calls. Emacs can ustilize thes libraries, but doesn't rely on them.
I'm sure Eclipse is useul, it provides an alternative to people who dislike the Emacs UI, and probably even have unique features. But broadness in either application range or platform range are not among these.