Mike McCullough reviews briefly on the history of the Eclipse framework and provides details and perspective on new additions to the Web-based IDE, such as Eclipse Plugin Central (EPIC), Callisto, BIRT, and CDT. Also, learn Eclipse Callisto release GMF in 15 minutes.
The article by Mike McCullough gives only rudimentary information about the existance of the CDT plugin for C and C++ development.
There is no information on how to use eclipse for C and C++ development.
I like Eclipse now that it has become more stable and not a very slow dog. For Java development that i had to do it worked like a charm.
So, i tried CDT for my c/c++ projects only to find out that it builds the entire tree (every single file in the project) with every save and build. This becomes quite anoying if you are working on a project that does not say ‘hello world’
Is this a configuration issue? I coudn’t find anything about that so i eventually moved on.
I already said it once in a eclipse topic, but did u know IBM created it as an attack on the development tools of Sun (NetBeans?) (i think).
Think about the name “Eclipse” and what it looks like as a natural phenomenon.
Hint: Solar Eclipse
It’s a great name =)
Edited 2006-09-16 08:46
Yes it is a configuration issue. You can turn off auto build on save in your preferences.
I have used Eclipse+CDT for a few projects over the last two years or so, and if you work out the issues it is usable. My main gripe with it is that it tends to slow down when you hit > five thousand lines of code onscreen, which is annoying.
The one thing to watch out for (it has been a problem in the past) is that you need to match up the right version of the CDT plugin with the right version of eclipse. There were some nasty bugs in the past where the debugger would appear to run but would never breakpoint.
As for memory consumption that is an eclipse issue – you’re always best off firing off eclipse and reserving 256MB RAM from the commandline.
Tag completion is slow at times, but I don’t use it that often. This too I have found to be broken in the past.
Also, http://wiki.eclipse.org/index.php/CDT is worth keeping track of.
This is a personal opinion, based on my older athlon 2400xp+ and 1Gb of RAM (and eclipse 1.1 from ubuntu, not latest eclipse) but i think the CDT is unusable yet.
Why?
1. as someone already posted it recompiles constantly
2. code-tools (like “code completion” or “jump to declaration”) are slow and DON’T cache. It always takes 5 seconds to complete that SDL_ function… even 2 times on same stuff it take always 5 seconds.
3. It’s very good they finaly did code completion and jumping also deep into 3rd party “units” (.h and .c/cc) but as #2 stated it’s too slow for now.
There were other issues but these killed it for me. I uninstalled the thing and until I hear from someone it’s workable I’m not touching it again. It also ate 200mb of ram on my machine in a hello world like project.
The IDE I use for my language (not C/C++) take 15-30mb in ram and has more code refactoring and help tools which work in under second on all operations… I want that with C++ as well.
The IDE I use for my language (not C/C++) take 15-30mb in ram and has more code refactoring and help tools which work in under second on all operations… I want that with C++ as well.
What IDE do you use,plz enlighten us.
Lazarus, at
http://www.lazarus.freepascal.org
It’s a Pascal (Object Pascal/Delphi, not TP) IDE with both codetools which I described (including jumping between declaration and implementation, code and class completion and such) and forms designed like Delphi.
I’m not saying it’s a better eclipse since eclipse aims for different goals, but I’ve been looking for a C/C++ IDE with atleast the codetools capabilities of Lazarus for ages on unix with no luck.
Code::Blocks is getting there, slowly. There’s been no release for nearly a year, but the nightly builds are there for testing. While they’re still very buggy (crashes on a few clicks), they have impressive features – code completion and parameter info work, support function/method overloading, and they are virtually instantaneous.
Anjuta is really optimised for C not C++ – the code completion/”go to definition” features don’t differentiate methods and functions.
Last time I tried Eclipse CDT I couldn’t get it to compile a hello world.
You must suck at computers or you use Wintendo (which interestingly would also mean you suck at computers).
Eclipse C/C++ is by no means perfect, but it worked out of the box for me on Ubuntu.
You must suck at computers
I have an honours degree in computer science, and have been using computers for 9 years.
or you use Wintendo (which interestingly would also mean you suck at computers).
It was 3 or so years ago so I don’t remember, but if I used the Windows version, it was because the Lintendo installer for Eclipse crashes on startup.
Many people I know that don’t suck at computers still use Windows.
Eclipse C/C++ is by no means perfect, but it worked out of the box for me on Ubuntu.
You insults are not inviting me to try it.
I use Eclipse every day for Java and C++ development on Linux. I work for a big software house which is a UNIX and Linux shop; all the code we write runs on *nix.
I first tried to write my C++ code with VS.NET 2003 and 2005 on Windows and then build it on Linux, but I couldn’t bare it. It looks like it is designed for people who learn how to program: very easy to use for simple things but limited to that. It is also buggy and lacks fundamental things such as CVS or SVN integration. I guess I am spoiled with Eclipse/Java.
So I looked for a C++ IDE for Linux. I tried KDevelop which looks like a powerful tool, but I found it complicated and confusing. I guess it is OK if you have the time to learn how to use it. Anjuta may be another choice. Knowing Eclipse very well, I decided to give CDT a serious try and use only CDT for all my C++ development for a month, and I found it is good enough for my needs. I really like the Eclipse idea of learning just one tool and reusing it for different programming environments, as well as being able to extend Eclipse for my own needs. Eclipse is the new Emacs… (too bad it isn’t written in Lisp).
For Java Eclipse is outstanding. For C++ it is still quite crude, but workable. Read the CDT FAQ: yes you can tell it not to build the whole tree when you save a file. However build is based on Makefiles (or Ant if you set it up this way); there is no compilation on the fly like Java. That would be really nice but I haven’t seen anything like that for C++. I think the real weakness of CDT is the indexer, which is apparently not incremental and unusable even for a medium size code base. Eclipse allows to use Ctags but I never got it to work, so I turn the indexing off systematically (which means no code completion, no “F3” to see who calls this function, etc.).
But even with that it is better than Emacs. The debugger is a great interface to GDB for instance.
For work I use both Eclipse for Java development for which it is excellent and KDevelop for C development.
CDT is not mature enough I think for my need.
KDevelop does nicely the job once you learned it and took some time to configure it to your tastes. Still, I think the UI takes too much screen space even on a 19″ panel.
I’m considering trying emacs + cscope + ecb.
Edited 2006-09-16 13:45
2. code-tools (like “code completion” or “jump to declaration”) are slow and DON’T cache. It always takes 5 seconds to complete that SDL_ function… even 2 times on same stuff it take always 5 seconds.
TheIDE of Ultimate++
http://upp.sourceforge.net
is caching them and therefore has near to instant autocomplete/jump to.
I am using eclipse as CVS client. It really has very rich and easy features for CVS/SVN configuration management.
I did not like it as an editor on *NIX platform.
http://www.netbeans.org/products/cplusplus/index.html
Currently more usable than the Eclipse version but still missing lots of features. I don’t understand why a language as mature and widely used as c++ has such crappy IDEs. I suppose it must just be that the language is very difficult to parse.
Eclipse is a FRIGGIN IDE.
Development tools always take up a lot of memory, unless they take the vi route.
That’s just not true..
See Lazarus I talked about earlier. It doesn’t have all the features of Eclipse and certainly doesn’t aim to be IDE for all languages, but it’s pretty advanced, fast and takes max. 30mb of RAM.
How odd, I’ve been using EPIC for eclipse for a couple years, too bad this wasn’t about perl or he’d know what EPIC is. Is there no google? No imagination? Not enough creativity to even come with something for the, ‘I’? Guess the sad day had to come when there was just not enough acronyms to go around anymore.
don’t know about big projects, but for a small program this is great:
http://anjuta.sourceforge.net/
Since the article doesn’t really say anything about how to use Eclipse for C/C++ development, I have come to the conclusion that you don’t
I have tried it… Several times… and found it extremely lacking for C/C++.
Anjuta and KDevelop are far better choices, from what I’ve seen of those IDE’s, if it’s an open source IDE that you seek.
But if you happen to know Eclipse before (for Java development) then it may be a good choice. Other than the indexer, which clearly doesn’t work for a large code base, what have you found that makes you say it is extremely lacking?
Eclipse as a whole is friggin awesome. However, the shortcomings of some of the projects has nothing to do with Eclipse itself, but the people who develop projects on top of it. On the plus side, you have BIRT and the Java IDE, you can see the potential that it has. Then there are the incredibly horrible UML and C++ IDE’s, and you just have to shake your head. People tend to forget that Eclipse is a platform for applications, not just an IDE. The failings of some projects built on Eclipse is in no way a reflection of Eclipse itself.
On the bright side of CDT I have to mention that project is very much alive and actively developed. Since 5/2006 “fast” indexer was introduced that helped alot, for version 4.0 (7/2007) it is planned that any intelli-sense kind of feature will work instantly.