JavaScript heeft een probleem: complexe code
De eigen meting die Muhr als bewijs aanvoert, betreft het voorkomen van geneste code. Seerene analyseerde 400 miljard regels code uit duizenden projecten op het voorkomen van diep-geneste constructies; diep is daarbij gedefinieerd als vier lagen of meer. Bij JavaScript-programma's is 8,36 procent van de code in die zin diep genest. PHP is in deze maat qua complexiteit tweede, met 2,71 procent diep-geneste code. Java scoort 2,12 procent, C# 1,14 procent en Python 0,95 procent.
Muhr voert ook andere gegevens aan om zijn stelling te onderbouwen. Zoals het aantal vragen die programmeurs via ontwikkelaarsgemeenschap StackOverflow beantwoord proberen te krijgen. Ook daar voert JavaScript de lijst met voorsprong aan. Een derde gegeven dat volgens Muhr zijn stelling onderbouwt, is het aantal zogeheten 'lines of code per commit'. Dat is het aantal regels code dat een programmeur nodig heeft om een wijziging of een extra functie toe te voegen aan de codebasis van een project. JavaScript komt daarbij op 1500, C op 1100, Visual Basic op 950, C# op 900 en C++ op minder dan 900.
De vraag hoe het komt dat JavaScript-programma's relatief zo complex zijn, is wat minder makkelijk te beantwoorden. De oorzaak lijkt niet in de structuur van de taal zelf te liggen; die wijkt niet zo veel af van de andere, zegt Muhr. Hij denkt dat het probleem vooral veroorzaakt is door het tijdsgewricht waarin JavaScript opkwam. JavaScript werd populair in de tijd dat de nadruk net begon te verschuiven van back-end naar front-endontwikkeling, redeneert Muhr. In die setting waren de JavaScript-programmeurs feitelijk nog tweederangs, en kregen ze niet de ruimte en de middelen om hun werk naar behoren af te maken. En nu die verschuiving is afgerond, krijgen de JavaScript-programmeurs niet de ruimte voor een grote schoonmaak. Opdrachtgevers besteden hun geld liever aan nieuwe toeters en bellen.
Reacties
Om een reactie achter te laten is een account vereist.
Inloggen Word abonnee