Door karma4: Schrikkeljaar bug? Gewon een snelle gecodeerde oplossing voor datums, Werkt toch dit jaar, volgend jaar nieuwe kansen.
Zoiets zal het inderdaad zijn, maar als je zoiets schrijft, let dan even op je eigen taalfouten. Als dit programmacode was geweest had je het niet gecompileerd of geïnterpreteerd gekregen, en in dat opzicht zijn de ontwikkelaars die voor deze bug verantwoordelijk zijn toch verder gekomen. ;-)
Door johanw: Zeker moderne webdevelopers. In Kernighan en Ritchie uit de jaren 1980 stond al de 1-regelige test op een schrikkeljaar:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) printf("%d is a leap year\n", year);
Zeker te moeilijk voor de meeste Javascript code copy pasters.
Het ging om betaalterminals op (vooral) onbemande tankstations, uitsluitend de terminals die buiten op de pompen zitten. Daar voeren mensen geen datum in en daar hoeft dus ook geen datuminvoer van die mensen gevalideerd te worden. Het is speculeren hoe dat nou precies misging, maar een scenario dat ik kan bedenken is dat de terminal een bericht aan de backend stuurt dat een datum en tijd bevat, en door geen rekening te houden met een schrikkeljaar 1 maart in plaats van 29 februari produceert, waarop de backend reageert met "kan niet kloppen" en het bericht niet accepteert.
Hoe dan ook, toen ik in 1985 als COBOL-programmeur mijn IT-loopbaan begon was dit inderdaad gesneden koek, en tegenwoordig zijn voor alle talen volop libraries beschikbaar dit dit soort shit voor je afhandelen. Bij enigszins moderne talen is het onderdeel van de standaardbibliotheek van de taal. Het lijkt een hele prestatie te zijn om het nog fout te doen.
Maar er rollen natuurlijk zat onervaren mensen het vak in (iedereen begint onervaren); je hebt tegenwoordig IT-opleidingen op MBO-niveau voor dingen die vroeger HBO- of universitair niveau hadden (waarbij ik moet aantekenen dat ik mensen met niet meer dan MAVO heb meegemaakt die het geweldig deden en academici die er niets van bakten); er zijn volop bedrijven die voor een dubbeltje op de eerste rang willen zitten en in plaats van te investeren in de kennis van hun medewerkers ze voorzien van een onmogelijke werkdruk; en dan is de IT in meerdere opzichten ook nog eens dramatisch veel complexer dan die vroeger was. Het verbaast me met andere woorden totaal niet dat allerlei dingen lang niet meer zo goed gaan als ze 40 jaar geleden gingen. Helaas.