Integrated Development Environment

An Integrated Development Environment (IDE) is not a necessary development tool but it is a useful one. While we understand that people are familiar with a particular editor or work-flow, use of an IDE can help the development process flow more easily. An IDE is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger. We are making this recommendation purely because IDEs can save you lot of time, particularly when you are contributing to someone else’s code. There are many good reasons to use one:

  • Integrated source control (this is major since the Git UI is frequently not intuitive)
  • Quickly navigating to a type without needing to worry about namespace, project etc.
  • Navigating to members by treating them as hyperlinks
  • Auto-completion when you can’t remember the names of all members by heart
  • Automatic code generation
  • Refactoring (major advantage)
  • Warning-as-you-type (i.e. some errors don’t even require a compile cycle)
  • Hovering over something to see the documentation (provided by Doxygen)
  • Keeping a view of files, errors/warnings/console/unit tests etc. and source code all on the screen at the same time in a useful way
  • Ease of running unit tests from the same window
  • Integrated debugging
  • Navigating to where a compile-time error or run-time exception occurred directly from the error details.

If you are developing for a parallel environment for multiple HPC systems the Eclipse IDE even has a plugin specifically designed for this, the Eclipse Parallel Tools Platform.