|Part of a series on|
An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop, NetBeans do not.
The boundary between an IDE and other parts of the broader software development environment is not well-defined; sometimes a
Integrated development environments are designed to maximize programmer productivity by providing tight-knit components with similar user interfaces. IDEs present a single program in which all development is done. This program typically provides many features for authoring, modifying, compiling, deploying and debugging software. This contrasts with software development using unrelated tools, such as vi, GDB, GNU Compiler Collection, or make.
One aim of the IDE is to reduce the configuration necessary to piece together multiple development utilities. Instead, it provides the same set of capabilities as one cohesive unit. Reducing setup time can increase developer productivity, especially in cases where learning to use the IDE is faster than manually integrating and learning all of the individual tools. Tighter integration of all development tasks has the potential to improve overall productivity beyond just helping with setup tasks. For example, code can be continuously parsed while it is being edited, providing instant feedback when syntax errors are introduced, thus allowing developers to debug code much faster and more easily with an IDE.
While most modern IDEs are graphical, text-based IDEs such as Turbo Pascal were in popular use before the availability of windowing systems like Microsoft Windows and the X Window System (X11). They commonly use function keys or hotkeys to execute frequently used commands or macros.
IDEs initially became possible when developing via a
Maestro I is a product from Softlab Munich and was the world's first integrated development environment for software. Maestro I was installed for 22,000 programmers worldwide. Until 1989, 6,000 installations existed in the Federal Republic of Germany. Maestro was arguably the world leader in this field during the 1970s and 1980s. Today one of the last Maestro I can be found in the Museum of Information Technology at Arlington in Texas.
One of the first IDEs with a plug-in concept was Softbench. In 1995 Computerwoche commented that the use of an IDE was not well received by developers since it would fence in their creativity.
Code completion is an important IDE feature, intended to speed up programming. Modern IDEs even have intelligent code completion.
Intelligent code completion
IDEs may provide support for code search. Code search has two different meanings. First, it means searching for class and function declarations, usages, variable and field read/write, etc. IDEs can use different kinds of user interface for code search, for example form-based widgets and natural-language based interfaces. Second, it means searching for a concrete implementation of some specified functionality.
This interface has been popularized with the
This approach is also used in specialist software such as Openlab, where the end-users want the flexibility of a full programming language, without the traditional learning curve associated with one.
Support for alternative languages is often provided by
Attitudes across different computing platforms
On the various
IDEs have always been popular on the Apple Macintosh's
A Mobile-Based Integrated Development Environment (IDE) is a software application that provides a comprehensive suite of tools for software development on mobile platforms. Unlike traditional desktop IDEs, mobile-based IDEs are designed to run on smartphones and tablets, allowing developers to write, debug, and deploy code directly from their mobile devices.
- Comparison of integrated development environments
- Collaborative development environment (CDE)
- Computer-aided software engineering (CASE)
- Game integrated development environment
- Software engine
- Multiple document interface § IDE-style interface(MDI)
- Rapid application development (RAD)
- Read–Eval–Print Loop (REPL)
- Notebook interface
- Code analysistools
- Source code refactoring tools
- Software building tools (the compiler, linker, etc., and the build automation tool used to control them)
- Version control, also called source repository (configuration management)
- Language Server Protocol
- Structured Programming Facility
- Transportable Applications Environment
- "Interaktives Programmieren als Systems-Schlager" from Computerwoche (German)
- "TOP IDE Top Integrated Development Environment index". pypl.github.io. Retrieved 8 August 2023.
- "Course CS350 Integrated Development Environments". cs.odu.edu. Old Dominion University. Retrieved 10 October 2018.
- "Code Completion, Episode 1: Scenarios and Requirements". The JetBrains Blog. 28 May 2021. Retrieved 17 November 2023.
- FAQ - CodeBlocks. Wiki.codeblocks.org (2014-02-01). Retrieved on 2014-04-04.
- Qt Documentation - Completing Code. Retrieved on 2015-07-07.
- Using Dynamic Apex to retrieve Picklist Values | Developer Force Blog. Blogs.developerforce.com (2008-12-09). Retrieved on 2014-04-04.
- "Programming software and the IDE". BBC Bitesize. Retrieved 10 October 2018.
- "Eclipse Cookbook - Searching Code". O’Reilly.
- "Introduction - Flycheck 0.18-cvs". Read the Docs. Archived from the original on 10 March 2014. Retrieved 10 March 2014.
Rehman, Christopher Paul, Christopher R. Paul.
"The Linux Development Platform: Configuring, Using and Maintaining a Complete Programming Environment".
- ""Use Emacs with Microsoft Visual C++ ... use Emacs as an IDE"". Archived from the original on 4 July 2013.
- "Emacs: the Free Software IDE | Linux Journal". www.linuxjournal.com.
- "The Common Lisp Cookbook - Using Emacs as a Lisp IDE". cl-cookbook.sourceforge.net.
- "Emacs as a Perl IDE". obsidianrook.com.
- "Developer FAQ - PostgreSQL wiki". wiki.postgresql.org.
- "Chapter 18. Installation from Source Code on Windows". PostgreSQL Documentation. 29 September 2021.
- "Web-based vs. desktop-based Tools – EclipseSource". eclipsesource.com. 19 June 2018.