Exploratory programming

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Bender the Bot (talk | contribs) at 03:25, 22 October 2016 (→‎References: http→https for Google Books and Google News using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 Cecil, Dylan, Factor, F#, Lisp, Mathematica, Obliq, Oz, Prolog, Python, REBOL, Perl, Ruby, Self, Smalltalk, Tcl and Javascript.

Formal Specification Versus Exploratory Programming

For some software development projects, it makes sense to do a requirements analysis and a formal specification. For other software development projects, it makes sense to let the developers experiment with the technology and let the specification of the software evolve depending upon the exploratory programming.

See also

References

  • Rajib Mall (1 August 2004). Fundamentals of Software Engineering. PHI Learning Pvt. Ltd. p. 32. ISBN 978-81-203-2445-9.