Integrated Programming Environments
An Integrated Programming Environment (IPE) combines a
syntax-savvy source-code editor,
compiler, debugger, visual designer and execution environment
into one package.
A good IPE offers the following features:
- Support for creating projects and/or packages
to group related programs or modules.
- Automatic generation of dependencies, so that only those source
files are compiled that need it.
For languages like C, which have separate header files with declarations
the automatic generation of dependencies is easy.
For Java however, it is difficult to decide whether when a source file is
modified all other source files that import the modified class should be
recompiled.
- A syntax-savvy editor that communicates with the compiler to indicate
compile-time errors in the source file.
- A visual designer, coupled to a source code generator in two ways:
whenever the visual design is changed the source code must be updated
automatically, and when the source code is changed the visual design must
reflect the changes.
- A symbolic debugger capable of inspecting variables whenever the
user-interface is waiting for input, and which lets the user modify variables
or call methods while the program is active.
- An execution environment which can be used without the rest of the IPE.
Programs developed with an IPE must be usable without that IPE.
This is especially true for Java: when using classes that are not part of
the standard JDK, these classes should be delivered with the developed
application. Otherwise the application will not work on other systems
than that of the developer.
An IPE is a powerful development tool because it integrates
several useful software development tools.