Esistono studi empirici sull'effetto di linguaggi diversi sulla qualità del software?

19

I sostenitori dei linguaggi di programmazione funzionale affermano che la programmazione funzionale rende più facile ragionare sul codice. Chi è a favore di linguaggi tipizzati staticamente afferma che i compilatori individuano errori sufficienti a compensare la complessità aggiuntiva dei sistemi di tipi. Ma tutto ciò che leggo su questi argomenti si basa su argomenti razionali, non su dati empirici.

Esistono studi empirici su quali effetti hanno le diverse categorie di linguaggi di programmazione sui tassi di difetti o altre metriche di qualità?

(Le risposte a questa domanda sembrano indicare che lì non sono tali studi, almeno non per il dibattito dinamico vs statico)

    
posta jgre 04.08.2011 - 19:01
fonte

3 risposte

3

C'è qualche ricerca nel mondo accademico su questo argomento. Ecco alcuni esempi che conosco, anche se dovresti trattare le conclusioni con cautela:

  • Un esperimento sui sistemi di tipo statico e dinamico: dubbi sull'impatto positivo dei sistemi di tipo statico sui tempi di sviluppo, Stefan Hanenberg. In Proc OOPSLA, 2010. Link ACM

  • Uno studio empirico sulla tipizzazione statica in Ruby, M. Daly, V. Sazawal, J. Foster. In Proc PLATEAU, 2010. PDF

  • Un esperimento controllato per valutare i vantaggi della procedura Argument Type Checking, Lutz Prechelt e Walter F. Tichy. IEEE TSE, 1998. Link IEEE

Sono sicuro che ci sono altri documenti. In generale, tuttavia, quest'area è estremamente controversa per ovvi motivi --- è davvero difficile fare una valutazione obiettiva !!

    
risposta data 04.08.2011 - 23:20
fonte
1

Un famoso studio è Lutz Prechelt. Un confronto empirico di sette linguaggi di programmazione. IEEE Computer [33 (10): 23-29], ottobre 2000

Prechelt discute dell'affidabilità del programma e esamina anche il tempo di esecuzione e il consumo di memoria.

    
risposta data 14.05.2012 - 03:32
fonte
0

Sebbene non sia correlato alla qualità del codice in quanto tale, questo studio esamina come i novizi apprendono utilizzando lingue diverse. In particolare, confrontano il modo in cui i novizi piacciono quando imparano il Perl e il Quorum, un linguaggio di insegnamento che gli autori desiderano confrontare. La cosa veramente interessante di questo articolo è che in realtà hanno un linguaggio di controllo in cui la sintassi viene generata casualmente, come una sorta di linguaggio "placebo". Questo approccio potrebbe essere davvero interessante se applicato alle lingue e alla qualità del codice e aiuta a controllare alcuni di questi fattori di confusione difficili quando si confrontano le lingue.

    
risposta data 15.11.2011 - 22:00
fonte