mercoledì 22 febbraio 2012

Dove è la Scienza in Software Development?

Un sacco di roba nello sviluppo di software ha qualche fondamento veramente solido scientiche. I database relazionali, ad esempio si basano su Algebra relazionale . C'è lambda calcolo e teoria dei tipi .
E almeno nella mia esperienza personale e opionion questo tipo di cose funzionano particolarmente bene. Eppure, quando si tratta di costruzione del codice il tutto ha un aspetto più simile a una religione.Sommo sacerdote Uncle Bob che predica più corta è meglio e che solo gli sviluppatori di raggiungere il nirvana che scrivono i loro test prima del codice di produzione.
E che ci sono gli eretici che chiamano tutta questa merda toro non è mai, scrivere un singolo test, ma i metodi, come fino a quando il Edda . E non dimentichiamo: chi nave ragazzi del codice pure.
Se si seleziona i fatti scientifici dietro qualche consiglio su come scrivere codice che si sono tenuti a trovare un vuoto vuota come la spazio dietro Pluto o un riferimento a una certa ricerca fatta 30 anni fa con 20 studenti che fanno assegnazione di 4 ore con diversi stili, lingue o che cosa mai. Correlazione al mio lavoro quotidiano? Circa zero. E 'come il fatto scientifico che una piuma e un martello dovrebbe cadere con la stessa accelerazione e quindi velocità. True se vi capita di vivere in un tubo a vuoto, ma piuttosto irrilevante in questa forma per la nostra vita quotidiana.
Mi chiedo perché è questo? E 'davvero non deve essere così. Noi tutti usare un IDE che contiene già un sacco di plugin. Le nostre generazioni, compresi i nostri percorsi di prova sono automatizzate. Il codice sorgente è in un sistema di controllo versione. Teniamo traccia nostri bug in un sistema di gestione dei problemi, e con un piccolo sforzo possiamo collegare ogni impegnarsi per un bug (o caratteristica) nel nostro sistema di gestione dei problemi.
Perché non abbiamo una serie di plug-ins che raccoglie vari pezzi di informazioni su codici nostri sforzi di sviluppo in un repository centrale pubblico? Immagino che tale repository sarebbe enormemente importante per la ricerca.
Naturalmente i dati non sarebbe perfetto, ma andate a parlare con i biologi, archeologi, economisti o qualsiasi altri scienziati, con la possibile eccezione di scienziati informatici, mathmaticians e fisici teorici: i dati non è mai perfetto.
In questo momento lo sviluppo del software è come costruire cattedrali in epoca medievale. Sembra impressionante fintanto che rimane in piedi, ma nessuno può dire se rimarranno senza cercare.
Si trova a circa volta che otteniamo sul serio lo sviluppo del software. Cosa ci impedisce? O è questo già accadendo e ho appena perso?



Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.