Pages Navigation Menu

Impegnata a persone, impegnarsi per il futuro!

Gli errori che fai dipendono dal linguaggio di programmazione che usi?

C’è un dilemma che affligge i tecnici informatici praticamente dagli albori di questa scienza. La domanda che ci si pone e alla quale, ad oggi, non è ancora stata trovata una risposta sufficientemente esaustiva, riguarda quanto un singolo linguaggio di programmazione possa indurre a commettere errori. Ovvero: statisticamente parlando, ci sono linguaggi che più di altri inducono a creare bug? La risposta, secondo alcuni eminenti studi, sembrerebbe essere “sì”, ma ci sono personaggi che mettono in discussione questa conclusione. Vediamo prima quali sono le prove a “favore”. L’ultima prova in ordine di tempo è quella data da una ricerca condotta da Boffins, uno studio di debunk. In questo documento si dimostra che ci sono dei linguaggi, vale a dire C, PHP, JavaScript, ma anche altri, che rendono più facile fare errori nello scrivere un codice rispetto ad altri. Le prove che vengono addotte per dimostrare questo assunto non sembrano però del tutto convincenti: si tratta più che altro di qualche indizio sparso che, come si direbbe in un’indagine di polizia, non costituisce una prova. In passato anche altri importanti enti hanno cercato di risolvere la vexata quaestio. Nel 2014 la Foundations of Software Engineering pubblicò un rapporto intitolato “Uno studio su larga scala dei linguaggi di programmazione e della qualità del codice in Github”. Basandosi sull’esperienza maturata dai tecnici informatici della UC Davis nel documento si afferma che C, C++, Objective-C, JavaScript, PHP e Python sono i linguaggi di programmazione che spingono chi li usa a fare il maggior numero di errori nel codice che si scrive, e di conseguenza a creare il maggior numero di bug. Da ultimo arriva l’articolo pubblicato da AirXiv in tempi recenti, il cui titolo è “Impatto dei linguaggi di programmazione sulla qualità del codice” ed opera un’attenta rilettura della ricerca del 2014. Anche in questo caso si conclude che lo strumento che viene adoperato per redigere un codice non è ininfluente nella sua correttezza finale. Di nuovo, però, non vengono portate prove convincenti. L’unico vero dato statistico riportato riguarda C++, linguaggio con il quale sembra si verifichi la maggioranza de bug esistenti. Si capisce però come, ancora una volta, un indizio non possa costituire una prova. Passiamo dunque a considerare invece la posizione di chi assolve da ogni colpa i linguaggi di programmazione, dicendo che la possibilità di creare errori è praticamente equivalente quale che sia lo strumento che si adopera. Questa, ad esempio, è la tesi di Emery Berger, professore di informatica all’Università del Massachusetts Amherst. Berger, riferendosi proprio agli studi di cui abbiamo parlato sopra, sostiene che, se i dati riportati sono inconfutabili e corretti, ciò non vuol dire che possano essere letti in modo univoco. Anzi, accade spesso che si tenda a tirare fuori dai dati quello che si desidera che dicano. In una parola, non si può tenere conto solo di un singolo e freddo dato, ma bisognerebbe fare una ricerca incrociata che tenga in considerazione anche altri fattori. Ad esempio, quanto incide nella correttezza di scrittura di un codice la formazione dell’ingegnere che lo ha redatto? Ecco dunque che non appare giusto “colpevolizzare” un linguaggio di programmazione se nel prodotto che è stato creato usandolo si trovano dei bug: i motivi potrebbero essere molteplici e non direttamente imputabili allo strumento in sé.

Pin It on Pinterest

Share This