I'm just learning and planning to run it in a vm, so as long as I can have a good editor and environment, that would be pretty cool. Any suggestions with reasoning is appreciated.

link|improve this question

1  
any linux distro will provide a decent editor and environment, or at minimum the ability to install your choice of editor and environment. a better question: is your projected use dependent on any particular compiler version? – quack quixote Oct 19 '09 at 1:45
feedback

closed as not constructive by random May 25 at 20:35

This question is not a good fit to our Q&A format. We expect answers to generally involve facts, references, or specific expertise; this question will likely solicit opinion, debate, arguments, polling, or extended discussion. See the FAQ for guidance on how to improve it.

4 Answers

up vote 4 down vote accepted

Well, when it comes to having the most up to date packages, Arch Linux is currently at the top. This plays a big factor as far as development tools go. Gentoo is also a popular distribution among programmers.

Although most distributions come with a compiler and editor these days, if they don't it takes a few short minutes to install one. Even Ubuntu should do you fine, you can grab Eclipse CDT pack through the package manager, Netbeans, Code::Blocks and Sun Studio are also good options for C/C++ development. Some prefer the power of a simple text editor and command line tools to an IDE (vim/emacs, gcc, gdb, make) which can make you very productive as well once familiarized with the tool chain. Play around, see what you like and what is best for you.

link|improve this answer
feedback

Since you will be doing development on a VM, you probably don't need a full-blown Linux distro that weighs you down with duplicates of the functionality on your host os. I would suggest that you use SUSE Studio to build your own stripped down distro that focuses on development tools, and use that.

Alternatively, when you install your favorite distro into the VM, select the custom option and take the time to carefully look through the packages and only choose those that you are certain that you will need.

Any major Linux distro will have all the tools that you need, the main problem is to strip away the non-essentials.

link|improve this answer
feedback

While most Linux distros offer a pretty complete environment for software development, with many editor and IDE options to choose from, I can personally recommend Slackware. It is known to be very stable and at the same time it brings relatively up-to-date packages (while using the slackware-current version, which should be the equivalent of "unstable" on other distros, I've never had any major trouble, and as of today it brings some of the newest versions of common dev tools: gcc-4.7, gdb-7.4.1, glibc-2.15, make-3.82, cmake-2.8.4, git-1.7.5.1, boost-1.49, etc.)

Slackware is that kind of distro you don't depend at all at GUI tools to make it work the way it should, but allows you to make full use of GUI if you wish. The slackware-current version comes with KDE-4.8.2 as the most complete GUI with kdevelop-4.3.1, which is a really nice and complete IDE (I use it mainly for C/C++ development), but also brings some more lightweight options such as xfce-4.6.2 and others.

Although it is also known to be a "hard to use" distro, mainly due to its package management system that doesn't track dependencies, I personally find this not true at all. It just requires that you read a bit and try to understand how a Linux system works, which is a pretty "granted for" thing for a developer. For newbies there's even a book called Slackbook which can help you get started.

link|improve this answer
feedback

Almost any mainstream Linux distribution will come with the standard development tools like gcc, vim, emacs, gdb, make, etc. If I were picking I would choose Ubuntu, but the others like Debian, Fedora, SuSE, etc. will all have the same tools.

link|improve this answer
feedback

Not the answer you're looking for? Browse other questions tagged or ask your own question.