Some pertinent questions to be addressed are:
You can display and modify live data structures, and examine, call, and redefine functions from the keyboard. You can implement, test, analyze, and revise modules of code, without writing stand-alone drivers to test out each module, and without recompiling and relinking after every change.
Interactive programming environments are more widely applicable, and they can be extended to implement interfaces and communication protocols tailored to the needs of specific applications.
The NeWS window system and the Emacs text editor provide programmers with a high level of power and flexibility, to rapidly prototype, evaluate, and implement unconventional ideas. Much of the prototype code can be reused in the final system.
Emacs and NeWS are especially useful for creating front ends for command line driven program. Operating system processes can be run under the control of Emacs, which can provide them with pre-processed input, and capture and manipulate their output. With NeWS, a programmer can use object oriented PostScript to build a graphical front end to an application that provides local input processing and feedback, resulting in low client/server network traffic and high interactive performance.
Novice programmers can take advantage of pre-defined commands and objects, putting them together and customizing building blocks written by other people. Experienced programmers can take full advantage of the power and flexibility of the extension language, creating their own building blocks, which others can use.
Using object oriented programming in NeWS, programmers can utilize pre-defined classes of objects without knowing about their internals, and they can make their own custom classes by subclassing already existing classes. NeWS supports this building block approach very well.
Emacs, which runs on dumb terminals as well as window systems, provides an integrated program development system, with online documentation, command name completion, and many packages of specialized editing functions that can be bound to key sequences, or used in building higher level packages.
A prototype can provide a supporting framework on top of which can be build modules that would be impossible to implement and test in a vacuum. Even if parts of the prototype must eventually be rewritten, independent modules can still be reused.
Here are some words used to describe concepts that certain interactive programming languages are good at manipulating.