In Interactive Media Production, an integrated development environment (IDE) is a set of tools to increase the productivity of programmers who develop programs. It includes a text editor for programming functions that by pressing a button to start the compiler or linker and a debugger online, allows you to run the program line by line. Some environments are dedicated to a particular programming language.
The purpose of a development environment is to increase Interactive Media Production by automating some of the activities and streamlining operations.
Development environments also aim to improve the quality of the documentation related to the software construction. Some development environments also offer the possibility of creating prototypes, plan work and manage projects. Since 1980 the development and maintenance of software is partially automated using a lot of tools – the development environment.
The term development environment emerged in the 1980s to describe a set of tools and processes to assist and formalize the work of software development.
The goal was to create tools that assist developers in all stages of the software development: definition, design, programming, testing and maintenance. These tools also reflect the different roles within a team programming: programmer, manager.
The new generation of development tools, which also cover the preliminary steps in programming and direct the developer to good software engineering practices were called Computer Aided Software Engineering (CASE).
A development environment typically has the tools to analyze, write and debug a program. In integrated models, different tools have a similar look and feel and can be interconnected. For example it may be possible to open the text editor or compiler from the debugger or modify the source code being debugged directly.
A development environment may also include the following tools: a tool for creating GUI. Such tool allows the programmer to gain a significant time in building the GUI of the program. Until the arrival of the Java technology such tools still targeting an operating system.
A tool to automatically perform tests, tools for analyzing the source code. For example, a graphical generator that provides the tree diagram of the use of a function of program. A search engine that takes into account the programming language: it allows for example to find the name of a function, avoiding comments and literals and limiting the scope of a module or class.
Tools to attend preliminary operations to programming, eg modeling, or analysis. A tool for version control. Such a tool allows multiple programmers to work simultaneously on the source code files of program.
The integrated development environments are sometimes derived from tools that provide a single function and that the perpetrators were then enriched and merged with other tools. It can be a tool for creating GUI or handling basic data.