Good IDE for C++ on Linux

Pages: 12
Sorry if I'm beating a dead horse here. But a search of this forum for "ide" came up empty.

I'm an experienced developer when it comes to numerical or computational code. Not so experienced with application development. Also, I'm quite comfortable with good ol' Unix, but I've never used any of the Linux graphical desktop environments. Currently, I use Visual C++ 2008 in Windows to develop code that is built and deployed on Linux systems (Ubuntu, I believe).

Reading another thread, I saw several recommendations for Fedora and a couple for Ubuntu as development platforms. So the question is ... What's the best IDE for such platforms?

I've spent some time with Eclipse/CDT (2-3 years ago) and SlickEdit (1-2 years ago), but neither came close to Visual C++. Maybe they've made progress since then. I'm curious about KDevelop and Ajunta.

I know there are grognards who will insist that emacs is the only way to go, but I'm not very interested in that route.

Thanks.
Last edited on
I like Code::Blocks, it's cross platform and it can use any compiler you choose

Article on the subject: http://www.cplusplus.com/forum/articles/7263/
My preferred IDE for C++ is also Code::Blocks.
It runs on Windows, Linux systems and even on Macs.
I've been using Visual Studio for many years and recently started doing Linux dev and have been using the latest Eclipse Galileo, which I like and it seems pretty similar to VS.
i found that kdevelop(and qt-creator) have necessary features. Also vim can autocomplete code and highlight syntax.
Looks like I should take another look at Eclipse. I remember encountering Code::Blocks years ago when surveying the Linux IDE landscape. At that time, it didn't look very complete. But again, a lot can happen in 3 years. Sounds like I should look at it again.

Thanks for the comments.
The latest version Code::Blocks is excellent; I've heard good things about Netbeans too but I don't like it.


Gvim got a good plugin for C/C++ call cvim:)

it works for me:)
Eclipse is a good one. You can also (i think) add plugins that can extend it's features a great deal. Make sure to get the C/C++ version, Galileo, not the Java version.

It has excellent syntax highlighting (can highlight more stuff than you will ever need!), and decent auto-complete ,etc, out-of-box, with probably much more with the use of addons.
That article is a work in progress so bear that in mind if you read it. I've still got some corrections from helios to add. More corrections and ammendments are welcome.
When I started C++ programming under Linux (Ubuntu) 4 years ago, I tried several IDEs (Anjuta, KDevelop, Code::Blocks, Eclipse, Netbeans). At that time Code::Blocks was definitely the best for me due to performance reasons (code completion etc.), while Eclipse and Netbeans were slow and buggy. But times have changed and the CDT for Eclipse improved a lot, so I am using it now. There is also a project that tries to combine all Eclipse C++ developer plugins into one toolbox, which is very useful.

http://www.eclipse.org/linuxtools/

Another IDE, which is worth looking at, is CodeLight. It seems to be very similar to Code::Blocks (maybe a branch) and is also available in the Ubuntu repository.

http://codelite.org/
I didn't like Codelite. I prefer Code::Blocks.
I have used KDevelop 3.5 for a long time. But I have upgraded to Fedora 13 and it ships with KDevelop 4, which I find completely useless. (No support for Makefile projects!! You've got to be kidding me.)

I have since switched to Eclipse (Galileo) and am liking it a lot. There are differences I am still getting used to, but overall its a nice tool.
I use Code::Blocks too, and i like it! Even if i'm a beginner that can't really give an experimented point of view about the using of the differents IDE...
An opinion does not become invalid just because the person giving it is inexperienced.

Inexperience is not the same as ignorance. Ignorance does invalidate opinions, inexperience does not.
You're right chrisname, i agree with this point of view :)
Inexperience is not the same as ignorance.
Actually, 'ignorance' means lack of knowledge. It's not the same as 'inexperience' but it's quite related.
"Quite related [to]" does not mean "the same as".

You can be inexperienced in a subject without being ignorant of it.
A beginner in any field doesn't have deep knowledge nor much experience, otherwise it wouldn't be a beginner.
You can't know how much knowledge you have without some experience ( if you learn by heart the C++ ISO paper but have never written a line of code you can't say that you know C++ )
Experience increases knowledge and knowledge makes easier to get more experience

BTW this is completely off topic
Pages: 12