Exploratory programming
From Wikipedia, the free encyclopedia
Exploratory programming is an important part of the software engineering cycle: when a domain is not very well understood or open-ended, or it's not clear what algorithms and data structures might be needed for an implementation, it's useful to be able to interactively develop and debug a program without having to go through the usual constraints of the edit-compile-run-debug cycle. Many languages provide support for exploratory programming via interactivity, dynamicity, and extensibility, such as Lisp, Smalltalk, Self, Factor, Oz, Obliq, Cecil, Dylan, REBOL, Tcl, and Python.
The transition to establishing feasibility and commencing capital investment can be an important milestone on the financial side of a software project, especially in those countries where tax laws create a favorable investment environment for software development.