51

I'd like to note your experience of full scale IDEs on Linux.

I personally work mostly with vim, however other programmers would like to see a real IDE. So I'd like to hear your personal opinion about different IDEs and comparison between them, in following context:

  • C++ and maybe some C development (not Java, Python and other stuff)
  • Server side programming (no need for GUI development)
  • Working on Linux not "cross-platform" development.

Opinion needed regard:

  1. How stable is it? If IDE crashes I don't need it.
  2. Comfortable to use.
  3. Powerful for debugging.
  4. Integration with various build systems
  5. Scalability over huge projects (projects of hundreds thousands of lines of code)

I used to work with KDevelop and it was very nice IDE and seems that KDevelop 4 is a huge progress. It seems also that many rather use Netbeans and Eclipse.

Artyom
  • 2,079

9 Answers9

42

Here is my personal experience with IDEs. I installed all IDEs I could find, and played with them all (that is what I would advise you to do) :

  • kdevelop

I personally use it. The version I have installed crashes, but I downloaded the latest version from their site, and it works good. It is simple to configure and great to use. They support custom build system through plug-ins. You might find some weird features (like parsing only directly included headers), but generally it works good for big projects.

  • eclipse

Super complex to configure, but it allows literally everything. If you have enough time to find a correct configuration that pleases everyone, then go for it. But trying to change anything is very annoying because it has so many options.

  • anjuta and codeblocks

I tried it shortly, and it wasn't as good as the previous two. Codeblocks is good for short projects, but not for medium and big.

  • netbeans

Another good IDE, but since my home is on network share, and the project I work is fairly big, it was very slow. It parses all the time.

  • qtcreator

Simple to configure, but it is missing lots of options. For example, the strangest thing with it is that it can not parse and auto complete qt classes. Supports custom build system.


To conclude :

  • if you are patient enough (or if you find a good configuration), go with eclipse. It is really the best free IDE.
  • If you want something simple to configure, go with kdevelop.

Another option is to install both, and let your developers pick what suits them better.

BЈовић
  • 14,049
13

Take a look at Qt Creator.

  • It's pretty stable. I don't remember any crashes with it.
  • It may take some time to get used to absence of tabs but overall interface is good.
  • It uses gdb. Debugging is not as great as in Visual Studio but still pretty good. It also integrates with profiler (Valgrind) now.
  • It integrates with qmake and CMake. But you can run custom commands so it should be possible to use almost everything.
  • Can't say anything about huge projects but it's made and used by the same guys who write Qt so requirements are high.
  • It doesn't seem to make any assumptions about project structure.

I tried KDevelop 4 some time ago. It's certainly moving in the right direction but slightly buggy. You may want to try it anyway.

I used CodeBlocks for very short time but I remember I didn't like it because Interface was ugly.

10

Many GCC developers (and GCC has 5 to 9 millions lines of source code, depending how you count them) just use emacs or vi with utilities like grep, ctags or etags, make, svn, gcc, etc.).

You don't need an IDE to develop a big software.

If your software is big enough (e.g. at least 0.3 million lines), you could even consider customizing GCC thru plugins or MELT extensions, for purposes of software metrics, software navigation, specific warnings, coding rules, etc.

7

I mainly work with Eclipse. Used KDevelop with a great satisfaction for years, but now I work on multi-language projects (C, C++, PHP, Java, Python, Database, Web, etc).

Adavantages of Eclipse: lot of tools for about everything (including version control); works very well for syntax check, and auto-completion. Good job when compiling/building/debug. It is multi-platform (Linux, Windows, Solaris, etc)
Disadvantages: some functions or settings are a nightmare (for instance, when you have to deploy the project from your workstation to the server, Eclipse keeps a sort of cache, and if it thinks that the file on the server it's 'up to date', the file is not overwritten). Eclipse is huge, chokes most of your CPU-Power and drains all your memory. More info at http://www.ihateeclipse.com.

KDevelop is fast, and great for C/C++ and KDE/Qt projects, but lacks of some functions like support for Mercurial (KDevelop 3.3.4, don't know for newer versions).

AndrewQ
  • 246
5

Visual SlickEdit - commercial, like any good tool, "just works". Handles every language under the sun, out of the box, highly configurable and if if needed, fully programmable, puts a gui around GDB for debugging. Handles very large projects (I use it for a code base of 5million+ SOLC, of which I play with about 1million of them.) - Won numerous awards way back and has got better since then. Try it

Eclipse - Tool of choice when programming in Java, OK for any supported single language. Written in Java for Java developers developing Java programs. But needs plugins for every tiny little feature and major feature. Does not "just work" for more than one language at a time.

mattnz
  • 21,490
5

So... I just add another opinion but I don't think you can chose it as a vim user, so

emacs + gdb http://www.cs.bu.edu/teaching/tool/emacs/programming/

first of all that will be lightest IDE (I even can call it operating system) and most customizable so you can do everything with minimum resources usage except some lisp configuration brainwork resources.

Personally when I have a serious project I'm using Visual Studio. But when I need to work on linux I run emacs. (also I don't like qt at all)

Also (mostly because I like last.fm plugin and clojure support there) I found an nice IDE for linux (still tryeng to switch to emacs from it ==' for some reasons) IDEA, not I recommend to use it for C++ but maybe it's not bad too so you can add it to your list.

Behrooz
  • 99
cnd
  • 1,904
5

Netbeans is a slow, slow IDE. We are not using "dinosaur computers", but this IDE HANGS for quite a long time. If we access the Netbeans IDE over the network (say, using VNC), then forget about it!!! The lag is so bad as to make Netbeans unusable!

I find Eclipse intimidatingly hard to setup for initial use, but if you persevere, you'll wind up with an IDE that has everything you could want or need (possibly by way of plug-ins).

I don't want to use more than one IDE, and I suspect you don't either. I'd recommend Eclipse, with all its faults.

Mike
  • 69
2

QT and CodeBlocks are ok. I use CodeBlocks lately.

It can be configured for makefile projects, code completion mostly works, and doesn't hang like one in MSVS, go to definition is blazingly fast. Function browsing is also well done.

There are some minor issues, but for day to day work on Linux it's very good, IMHO.

Coder
  • 6,978
0

My only attempt to use an IDE on Linux happened in 2005, but at that time no IDE I tried (KDevelop, eclipse, Anjuta) was any good, so I went back to vim+ctags+gdb and still using it for Linux coding.