This is a new weekly series called Ask OMG! where readers can send in their questions each week and we’ll do our best to come up with an answer. We’d encourage you to provide even more detailed insight in the comments section, too!
Development tools for Ubuntu – there are a few of them, but which one is the best for C++ development?
Avi Hein wrote in to us with the following question:
What are the best development tools for C++ in Ubuntu?
Eclipse is one of the most well-known IDEs available across the board for Linux, Windows, and OS X. Born as an IBM Canada project in 2001, it has been a free software project for its entire decade-long life and is surely responsible for helping the development in a lot of your day to day software.
Predominantly written in Java, Eclipse is praised as being easy to use and feature rich, thanks to an extensive range of plugins. In fact, with the exception of a small run-time kernel, everything in Eclipse is a plug-in!
A lot of people replied to us on Twitter and said that they used and loved Eclipse, although OMG! reader Henri Sivonen noted that he used the version from Eclipse’s website, rather than the version in Ubuntu’s repository, presumably because it’s out of date.
Unlike Eclipse, Anjuta is an IDE that’s built specifically for coding in C and C++. It’s not cross-platform, but integrates very well with the GNOME environment, and consequently Ubuntu.
Anjuta features project management, application wizards, an interactive debugger, and a powerful source code editor with source browsing, code completion, and syntax highlighting.
A lot of readers on Twitter said that they like Anjuta because it’s very easy to use and looks good in Ubuntu. Being fine tuned specifically for C and C++ development work, there’s also no need to do anything special out of the box before you get your C on.
It’s also regularly updated and actively maintained.
Code::Blocks is a six year old free and open source, cross-platform IDE. Using a plugin architecture similar to Eclipse, its capabilities and features are defined by the provided plugins. Code::Blocks is also oriented to C and C++ which makes it an ideal candidate for work in those languages.
Code::Blocks boasts a number of useful features, including support for multiple compilers, syntax highlighting, an integrated to-do list, font settings, a debugger, GUI designer, and a custom build system.
Feature rich and reliable, NetBeans is the choice of many for developing in any language.
A text editor like Geany, Vim, Emacs, or Gedit
If you don’t want the added weight of a fully-fledged IDE like the above four, and can survive without all the extra features, then the best way to develop C++ might be to simply use a pimped out text editor like Geany, Vim, or Emacs.
Even Ubuntu’s standard text editor Gedit does the trick for some!
Install: sudo apt-get install geany vim emacs gedit
At the end of the day, whatever tool you use to develop will be down to personal preference. While some software may be more feature rich than others, more stable, reliable, or cross platform, ultimately developers will use whatever suits their workflow the most.
What do you use?
We hope you enjoyed this first iteration of Ask OMG! If you’ve got a question for us to look into, send us an email at email@example.com and you might see your question answered here.
In the meantime, join the discussion in the comments!