Oggi esistono centinaia di linguaggi di sviluppo e programmazione dedicati agli usi e alle necessità più disparate. Nei decenni la community di sviluppatori si è posta spesso una domanda "esiste una correlazione tra quantità di errori e linguaggio di programmazione adottato?"
Una ricerca condotta da Boffins, uno studio di debunk, afferma che alcuni linguaggi (C, PHP, JavaScript..) porterebbero a digitare codice più buggato rispetto ad altre alternative. Questo potrebbe condurre alla conclusione che certi linguaggi di programmazione inducano ad un tasso di errori più elevato, ma di fatto la ricerca non ha trovato prove a riguardo, solo alcuni "indizi" minori.
Questa ovviamente non è la prima ricerca condotta in proposito, nel 2014 venne pubblicato un documento scientifico simile intitolato "Uno studio su larga scala dei linguaggi di programmazione e della qualità del codice in Github", presentato alla Foundations of Software Engineering. Esso affermava che alcuni linguaggi informatici mostrano livelli più elevati di codice "buggato".
Il documento era redatto degli scienziati informatici della UC Davis computer, sostanzialmente al suo interno è possibile leggere che il codice scritto in C, C++, Objective-C, JavaScript, PHP e Python tende a presentare più bug dei sorgenti scritti in altri linguaggi.
In un altro articolo distribuito su ArXiv qualche settimana fa, intitolato "Impatto dei linguaggi di programmazione sulla qualità del codice", gli autori hanno revisionato i risultati della ricerca del 2014 per valutare l'ipotesi che nella programmazione il language design sia più rilevante di quanto sembri.
La ricerca però non ha trovato prove concrete. L'unico dato certo è che i bug che si presentano nel codice C ++ sono solo un po' di più rispetto ad altri linguaggi, ma questa conclusione è statisticamente insignificante.
In un'intervista, Emery Berger, professore di informatica all'Università del Massachusetts Amherst, ha commentato il risultato della ricerca:
"Questo risultato non significa che non ci sia correlazione. Significa solo che molte delle affermazioni della ricerca del 2014 non sono riuscite ad essere verificate. C'è un aneddoto tra gli scienziati che dice che se si torturano i dati abbastanza a lungo questi finiranno per parlare.
Ora solo perché hai dei dati non significa che siano i dati giusti per stabilire affermazioni particolari. I dati sui repository GitHub sono una grande risorsa ma non tutti i fatti possono essere accertati analizzandoli."
Berger afferma che bisogna guardare oltre il risultato specifico di una singola ricerca ed è necessario chiedersi se i linguaggi di programmazione fanno la differenza. Inoltre continua dichiarando che:
"Credo che i linguaggi di programmazione facciano la differenza dal profondo del cuore. Ma questo è un tipo di esperimento impossibile da eseguire."
Inoltre molti ricercatori affermano che gran parte del contesto non viene incorporato nei dati di GitHub e nelle varie analisi. Ad esempio è possibile che i programmatori che scrivono in Haskell abbiano una formazione più accademica rispetto all'utente medio di Python.
Dunque è possibile ipotizzare che i programmi Haskell producano meno bug. Ma in realtà questo non dimostra nulla, potrebbe essere infatti solo un caso che più programmatori Haskell abbiano un dottorato. Ecco perché sarebbe il caso di analizzare i dati più volte sotto diversi punti di vista e tenendo conto del contesto.