An integrated development environment (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.
Some IDEs contain compiler, interpreter (computing)|interpreter, or both, such as Microsoft Visual Studio and Eclipse (software)|Eclipse; others do not, such as SharpDevelop and Lazarus_(IDE)|Lazarus. The boundary between an integrated development environment and other parts of the broader software development environment is not well-defined. Sometimes a version control system and various tools are integrated to simplify the construction of a GUI. Many modern IDEs also have a class browser, an object inspector, and a class hierarchy diagram, for use with object-oriented programming|object-oriented software development.