La programación exploratoria es una parte importante del ciclo de la ingeniería de software : cuando un dominio no se comprende muy bien o no es abierto, o no está claro qué algoritmos y estructuras de datos podrían ser necesarios para una implementación, es útil poder desarrollar y desarrollar de forma interactiva depurar un programa sin tener que pasar por las limitaciones habituales del ciclo editar-compilar-ejecutar-depurar. Lenguajes como APL , Cecil , C # , [1] Dylan , Factor , Forth , F # , J , Java , [2] Julia , Lisp , Mathematica, Obliq , Oz , Prolog , Python , REBOL , Perl , R , Ruby , Scala , Self , Smalltalk , Tcl y JavaScript , a menudo junto con un IDE , brindan soporte para la programación exploratoria a través de la interactividad, la dinámica y la extensibilidad.
Especificación formal versus programación exploratoria
Para algunos proyectos de desarrollo de software, tiene sentido hacer un análisis de requisitos y una especificación formal . Para otros proyectos de desarrollo de software, tiene sentido dejar que los desarrolladores experimenten con la tecnología y dejar que la especificación del software evolucione dependiendo de la programación exploratoria.
Similitud con el tablero de pruebas
Un método similar de exploración se utiliza en el desarrollo de la electrónica, llamado Breadboarding , en el que se pueden probar y revisar rápidamente varias combinaciones, aceptando la compensación de que el resultado es definitivamente de naturaleza temporal.
Ver también
Notas
- ^ a través de Microsoft Visual Studio
- ^ a través de suintérprete de bucle JShell read-eval-print introducido en la versión 9
Referencias
- Rajib Mall (1 de agosto de 2004). Fundamentos de la Ingeniería de Software . PHI Learning Pvt. Ltd. p. 32. ISBN 978-81-203-2445-9.