Quote
@Emmo:
Quote:
Quote
@Emmo:
Goed programmeren is een kunst. Dertien jaar na Y2K nóg niets geleerd
Jij bent duidelijk geen programmeur, anders wist je dat je opmerking kant nog wal raakt.
Eh, ik programmeer als hobby. VB10 op het moment geïnstalleerd.
...
Dus: Ja ik ben een amateur, en beslist geen goede. Dat ik helemáál niet op de hoogte ben is ook weer een beetje te kort door de bocht
Het Y2K (
Year 2000) probleem ontstond doordat veel programma's (waarvan de programmeurs er terecht van uit gingen dat hun programma's toch niet decennia lang gebruikt zouden worden) hun datums opsloegen met slechts twee cijfers voor het jaar ('70, '80). Natuurlijk loopt dat in de soep als het programma het aantal dagen tussen 31-12-'99 en 01-01-'00 probeert te berekenen, met allerhande problemen tot gevolg.
Twee cijfers (of één byte) nemen voor het jaar was toen logisch, want de geheugenruimte was heel beperkt, en de computers hadden ook geen oneindige rekencapaciteit. Dus waarom dingen toevoegen die je toch niet nodig hebt?
Dus het belangrijkste is dat het Y2K probleem geen programmeerfout was. Als er ooit toentertijd in de
requirements had gestaan dat het programma 20-30 jaar na dato nog steeds correct moet werken, dan was dat door de programmeurs ook niet zo aangepakt.
Verder: je scheert op een of andere manier alle programmeurs over één kam. Programmeurs die
nóg niks geleerd hebben? Dat er in de jaren 70 mensen waren die twee cijfers voor de jaaraanduiding gebruikten heeft absoluut helemaal niks te maken met een compleet andere generatie programmeurs die een fout maken met de schrikkeldagen in een OV-chipkaartmachine.
Dit laatste is natuurlijk wel een directe bug, maar er bestaat niet zoiets als bug-vrij programmeren. Als programmeur zou je dat zelf ook moeten weten.
Goed programmeren is inderdaad een kunst, maar heeft niks te maken met bug-vrij programmeren.
Tenslotte: er is niks zo lastig als programmeren met datums en tijd. Schrikkeldagen zijn nog maar het kleinste probleem. Bijvoorbeeld schrikkelseconden en zomer/wintertijd: in de VS hangt het af van de staat of het er zomertijd of wintertijd is. In Nederland in 1916-1945 verschilde het soms per jaar wanneer het zomertijd was. In Brazilië begon zondag 17 oktober 2010 pas om 1:00 's nachts door de wintertijd, en hier in Nederland bestaat 31 maart 2013 02:15 niet, en komt 27 oktober 2013 02:15
twee keer voor. Eigenlijk vind ik het al knap dat het OV-chipkaartsysteem niet kapot ging door zomer/wintertijd.