|
An integrated development environment (IDE) (also known as an integrated design environment and integrated debugging environment) is computer software to help computer programmers develop software. See some examples.
They normally consist of a source code editor, a compiler, interpreter, or both, build-automation tools, and (usually) a debugger. Sometimes a version control system and various tools to simplify the construction of a GUI are integrated as well. Many modern IDEs also integrate a class browser, an object inspector and a class hierarchy diagram, for use with object oriented software development. Although some multiple-language IDEs are in use, typically an IDE is devoted to a specific programming language, as in the Visual Basic IDE.
History
IDEs are only necessary when development is done while sitting at some form of computer console. Therefore most early languages did not have one, since they were prepared using flowcharts, coding forms and keypunches before being submitted to the compiler. The first language to be created with an IDE was BASIC in 1964, coincidentally the first language to be designed for use while sitting at a computer terminal.
Its IDE, part of the Dartmouth Time Sharing System, was command-based in contrast to modern menu-based IDEs.
In the case of languages designed for the older "keypunch development environment" model, IDEs have been pioneered as an alternative to the makefile system of program building, whereby configuration files were written in addition to code.
These makefiles described options of how the compiler was to operate. Makefiles themselves were an advancement from just running the compilers and debuggers, with options given on the command line. IDEs removed this layer of complication by controlling this collection of tools, originally in a command-based format but now usually under a graphical front-end.
Tile-based direct manipulation systems
There is also growing interest in Visual Programming (not to be confused with Visual Basic or Visual C++). These IDEs allow users to create new applications by moving programming building blocks or code nodes to create flowcharts or structure diagrams which are then compiled or interpreted. These flowcharts often are based on the Unified Modeling Language.
This interface has been popularized with the LEGO Mindstorms system, and is being actively pursued by a number of companies wishing to capitalize on the power of custom browsers like those found at Mozilla and the power of distributed programming (cf. LabVIEW software). One of the first Visual Programming systems, Max, was modelled after analog synthesizer design and has been used to develop real-time music performance software since the 1980s.
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.
See also
Integrated development environment software (list of IDE software)
Software Development Kit (SDK)
Utility program
Software engineering
List of software engineering topics
Computer-aided software engineering
*
|