Integrated development environment
| Part of a series on |
| Software development |
|---|
An integrated development environment (IDE) is software that provides a relatively comprehensive set of features for software development. An IDE is intended to enhance productivity by providing development features with a consistent user experience as opposed to using separate tools, such as vi, GDB, GCC, and make.
At a minimum, an IDE typically supports source-code editing, source control, build automation, and debugging. An IDE may include support for integrating tools such as a compiler, runtime environment or version control system, but sometimes such tools are bundled with the IDE. Some IDEs provide special support for constructing a graphical user interface (GUI). Many IDEs support object-oriented programming via features such as class browser and object browser. Typically, an IDE provides special support for one or more programming languages, allowing for features tailored to a language. Some IDEs can be extended to support additional languages.
Although some IDEs are implemented as an application, some are implemented as a library, often designed for a particular software platform. For example, although Eclipse is a platform for which there are many plugins that each provide an IDE experience, the core application does not.
While a modern IDE provides a GUI, there were IDEs before the availability of windowing systems like Windows and the X Window System (X11). For example, Turbo Pascal for DOS had a full-screen, text-based user experience.