Se sei stato addestrato all'uso dei metodi formali (FM) per la programmazione:
- Quanto è utile averlo trovato?
- Che cosa implicava la tua formazione FM (ad esempio un corso, un libro)?
- Quali strumenti FM usi?
- Quali vantaggi in termini di velocità / qualità ti ha dato rispetto a non usare FM?
- Che tipo di software crei con FM?
- E se non usi direttamente FM adesso, valeva almeno la pena di imparare ??
Sono curioso di sapere quante esperienze / opinioni su FM si possono trovare in questa comunità; Sto iniziando a leggerlo e voglio saperne di più.
Sfondo
La programmazione e lo sviluppo / ingegneria del software sono alcune delle più nuove abilità / professioni umane sulla Terra, quindi non sorprendentemente, il campo è immaturo, che mostra l'output principale del nostro campo, come il codice che è generalmente in ritardo e soggetto a errori. L'immaturità del settore è anche dimostrata dall'ampio margine (almeno 10: 1) nella produttività tra i codificatori medio e superiore. Questi tristi fatti sono ben trattati in letteratura e introdotti da libri come Codice completo di Steve McConnell .
L'uso dei metodi formali (FM) è stato proposto da importanti figure del software / CS (ad esempio il ritardo < a href="http://en.wikipedia.org/wiki/Edsger_W._Dijkstra"> E. Dijkstra ) per affrontare (uno dei) le cause principali degli errori: la mancanza di rigore matematico nella programmazione. Dijkstra, ad esempio, ha sostenuto per gli studenti lo sviluppo di un programma e la sua dimostrazione insieme .
FM sembra essere molto più diffuso nei curricula CS in Europa rispetto agli Stati Uniti. Ma negli ultimi anni, i nuovi approcci e strumenti "leggeri" FM come Alloy hanno attirato l'attenzione. Tuttavia, la FM è lontana dall'uso comune nel settore e spero di avere qualche feedback sul perché.
Aggiornamento
A partire da ora (14/10/2010), delle 6 risposte sottostanti, nessuno ha chiaramente sostenuto l'utilizzo di FM nel lavoro "nel mondo reale". Sono davvero curioso se qualcuno può e vuole; o forse FM illustra davvero il divario tra il mondo accademico (FM è il futuro!) e l'industria (FM è per lo più inutile).