La programación exploratoria , a diferencia de la implementación (programación) , es una parte importante del ciclo de ingeniería de software : cuando un dominio no se comprende bien o 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 depurar un programa de forma interactiva sin tener que pasar por las restricciones habituales del ciclo editar-compilar-ejecutar-depurar. Lenguajes como APL , Cecil , Clojure , 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 dinamicidad y la extensibilidad.
Especificación formal versus programación exploratoria
Para algunos proyectos de desarrollo de software, tiene sentido realizar 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 que la especificación del software evolucione en función de la programación exploratoria.
Similitud con el protoboarding
En el desarrollo de la electrónica se utiliza un método de exploración similar, llamado "protoboarding" , en el que se pueden probar y revisar rápidamente diversas combinaciones, aceptando que el resultado es definitivamente de carácter temporal.
Véase también
Notas
- ↑ a través de Microsoft Visual Studio
- ↑ a través de su intérprete de bucle de lectura-evaluación-impresión JShell introducido en la versión 9
Referencias
- Rajib Mall (1 de agosto de 2004). Fundamentos de ingeniería de software . PHI Learning Pvt. Ltd. pág. 32. ISBN 978-81-203-2445-9.
- paradigmas de programación
- Técnicas de interfaz de usuario
- Esbozos de ingeniería de software