Your cart is currently empty!
Programmeertaal heeft (kleine) invloed op hoeveelheid bugs
Voor het vermijden van bugs is een functionele programmeertaal beter dan een procedurele, automatisch geheugenbeheer beter dan handmatig, static typing beter dan dynamisch en expliciete typeconversie beter dan impliciete – dit zijn veel gehoorde claims, maar een empirische studie onder een groot aantal opensourceprojecten bevestigt deze aannames nu. Het verschil is echter minder uitgesproken dan vaak gedacht.
De auteurs namen in totaal 728 projecten op Github onder de loep in zeventien verschillende programmeertalen, met in totaal 63 miljoen coderegels. Ze doorzochten hierin de commit-beschrijvingen naar sleutelwoorden die op het oplossen van een bug duidden. Daarmee maakten ze een schatting naar de frequentie van fouten per project.
Daaruit blijkt dat er in sommige talen inderdaad vaker bugs voorkomen dan in andere. C++ en Typescript doen het bijvoorbeeld relatief slecht, terwijl Clojure, Haskell en Scala het juist relatief goed doen. Wanneer apart wordt gekeken naar taalparadigma, type-checking, typeconversie en geheugenbeheer, blijken de aanpakken die vaak als veilig worden gezien ook in de praktijk een significant verschil te maken. Het effect is echter klein, andere factoren zoals teamgrootte en levensduur van het project hebben een groter effect.