Programowanie eksploracyjne

Programowanie eksploracyjne , w przeciwieństwie do implementacji (programowania) , jest ważną częścią cyklu inżynierii oprogramowania : gdy domena nie jest zbyt dobrze zrozumiała lub otwarta, lub nie jest jasne, jakie algorytmy i struktury danych mogą być potrzebne do implementacji, przydatna jest możliwość interaktywnego tworzenia i debugowania programu bez konieczności przechodzenia przez zwykłe ograniczenia cyklu edycja-kompilacja-uruchom-debugowanie. Języki takie jak APL , Cecil , C# , Dylan , Factor , Forth , F # , J , Java , Julia , Lisp , Mathematica , Obliq , Oz , Prolog , Python , REBOL , Perl , R , Ruby , Scala , Self , Smalltalk , Tcl i JavaScript , często w połączeniu ze środowiskiem IDE , zapewniają wsparcie dla programowania eksploracyjnego poprzez interaktywność, dynamikę i rozszerzalność.

Specyfikacja formalna a programowanie eksploracyjne

W przypadku niektórych projektów programistycznych sensowne jest wykonanie analizy wymagań i formalnej specyfikacji . W przypadku innych projektów programistycznych sensowne jest umożliwienie programistom eksperymentowania z technologią i umożliwienie ewolucji specyfikacji oprogramowania w zależności od programowania eksploracyjnego.

Podobieństwo do Breadboardingu

Podobną metodę eksploracji stosuje się w rozwoju elektroniki, zwaną Breadboarding , w której można szybko wypróbować i poprawić różne kombinacje, akceptując kompromis, że wynik jest zdecydowanie tymczasowy.


Zobacz też

Notatki

  1. ^ przez Microsoft Visual Studio
  2. ^ poprzez interpreter pętli JShell read-eval-print wprowadzony w wersji 9
  •   Rajib Mall (1 sierpnia 2004). Podstawy inżynierii oprogramowania . PHI Learning Pvt. z oo str. 32. ISBN 978-81-203-2445-9 .