Integrated development environment (IDE)

Tools are a cornerstone of the software engineering discipline, and it is of paramount importance to know and use them. In this lesson, we will talk about integrated development environments, normally called IDEs. And these are software applications that support developers in many of their everyday tasks, such as writing, compiling, and debugging code.

And to make the discussion more concrete we will focus on a specific IDE, Eclipse. We will first present Eclipse, and then get some hands-on experience through a demo.

Overview
Eclipse is an open, extensible development environment that was initially created by IBM and is now managed by the Eclipse Foundation. And of course, there are many other great IDEs such as for example, Microsoft Visual Studio or Netbeans.

Features:
 * 1) Views: to navigate
 * 2) Source code editor
 * 3) Support version control system
 * 4) Builder: build automation tool
 * 5) Runtime support: run and observe the application
 * 6) Testing tools
 * 7) Build-in debuggers

Plug-ins
Most IDEs are extensible through the use of plug-ins. A plug-in is additional functionality that you can actually plug into this box so that this box starts offering more features to the user.

For example, you can add to Eclipse the Checkstyle plug-in. Which, paraphrasing the Checkstyle website, helps you ensure that your Java code complies with a set of coding standards by inspecting the code and pointing out items that deviate from a defined set of coding rules. You can add the Checkstyle plug-in, and this functionality will become available in the IDE.