Eclipse is an IDE for "
anything and nothing in particular." Well, apart from what these Eclipse guys say, I have the following (nice) comments for the one I am using on
Fedora Core 4 (native version):
- Given that I have never used and IDE before for any serious development work (but only for killing my curiosity) - I am greatly impressed!
- I am getting started on it for C/C++ development, and the way it actually understands the language makes it a great app!
- You can quickly re-factor code. It handles all changes correctly.
- It prompts for the correct completion-options as well as function arguments based on the context - i.e. - it can understand which function, which class, what arguments are the correct ones.
- It integrates very nicely with CVS.
- It even has options of showing differences in the version being edited with the one either on disk or in the repository live.
- I can re-use previously used check-in comments.
- It shows a bird's eye view of all warnings/errors in multiple panels (class/function wise, file-wise) and one can quickly jump to the correct location.
Now, for the not so nice comments:
- Eclipse depends on some JVM to run - and the native JVM (aka gcc-java) is not perfect!
- Starting a project from a CVS-contained codebase doesn't work (well, it did not under the conditions I tried!)
- Some options work differently when run under the native JVM and Sun's JVM! So, be warned that if something looks bad, it might just be the JVM! (Minor stuff, but surprising nevertheless - for example, the "automatically discovered" include paths do not show up in the native JVM based run)
- It's a memory hog! It gave up many a times when I had three projects opened with "out of memory" errors (I set the JVM arguments to use upto 256M of the memory for heap by editing /etc/eclipse.conf - now, I have set this upper limit to 384M)
- One nice thing here is that it warns properly, and moreover shuts down properly without any apparent loss of anything.
- The indexer is not all that intelligent when it comes to being efficient
- For one, the indexing process is another slow one (On second thoughts, given that it does a LOT of work in terms of understanding the codebase, I am being a bit too harsh!)
- And then, it re-indexes the file even when there have been no significant indexing-worthy changes (I initially thought the whole project was re-indexed, but it seems only file-local changes are indexed ... the speed gave me the impression that it was the whole project! But even changes in spaces or comments causes the indexer to run ;-))
I would
suggest that Eclipse should be run with Sun's JVM and not the GCC-Java implementation to get the correct behaviour.
I can live with the negatives - the positives are compelling. The negatives can be easily handled by switching to a Gig-range memory machine, with dual-core or multiple processors ;-)