Description
Retrouvez ci-dessous la traduction EN → FR de l’article “More Falsehoods programmers believe about time”, écrit par l’auteur Noah Sussman, sous Licence CC-By.
D’autres fausses croyances des développeurs à-propos du temps
(…)
Toutes ces hypothèses sont fausses :
- Les décalages entre deux fuseaux horaires resteront constants.
- OK, hormis les bizarreries historiques, les décalages entre deux fuseaux horaires ne changeront pas dans le futur.
- Les changements dans les décalages entre deux fuseaux horaires se produiront avec un préavis suffisant.
- L’heure d’été a lieu au même moment chaque année.
- L’heure d’été a lieu au même moment dans chaque fuseau horaire
- L’heure d’été s’ajuste toujours d’une heure
- Les mois ont soit 28, 29, 30, ou 31 jours.
- Le jour du mois avance toujours de manière contiguë de N vers N+1 ou 1, sans discontinuer.
- Un seul calendrier système est utilisé à la fois.
- Il y a une année bissextile chaque année divisible par 4.
- Les années non bissextiles ne contiendront jamais de jour bissextile.
- Il sera toujours facile de calculer la durée d’un nombre d’heures et de minutes à partir d’un point particulier du temps.
- Le même mois a le même nombre de jours, partout !
- Le temps Unix est complètement ignorant de tout excepté des secondes.
- Le temps Unix est le nombre de secondes depuis le 1er Janvier 1970.
- Le jour précédent Samedi est toujours Vendredi.
- Les fuseaux horaires contiguës ne sont pas distant de plus d’une heure (ainsi nous n’avons pas besoin de tester ce qui arrive à l’avionique lors d’un survol de la Ligne de Date Internationale)
- Deux fuseaux horaires qui différent seront différents d’un nombre entier de demi-heures.
- OK, de quart d’heures.
- OK, de secondes, mais ce sera une différence constante si nous ignorons l’heure d’été.
- Si vous créez deux objets de date l’un à côté de l’autre, ils représenteront le même temps (un fantastique générateur d’Heisenbug).
- Vous pouvez vous attendre à ce que l’horloge atteigne exactement HH:MM:SS en échantillonnant une fois par seconde.
- Si un processus s’exécute pendant n secondes et puis se termine, il se sera passé approximativement n seconds par l’horloge système à la fin de l’exécution.
- Les semaines commencent un Lundi.
- Les jours commencent le matin.
- Les jours fériés contiennent un nombre entier de jours.
- Les fins de semaine consistent en Samedi et Dimanche.
- Il est possible d’établir un ordre complet d’horodatage qui est utile en-dehors de votre système.
- Le décalage de l’heure locale (depuis UTC) ne changera pas durant les heures de bureau.
- Thread.sleep(1000) dort durant 1000 millisecondes
- Thread.sleep(1000) dort durant un temps ≥ 1000 millisecondes.
- Il y a 60 secondes dans chaque minute
- Les horodatages avancent toujours de manière monotone.
- GMT et UTC sont les mêmes fuseaux horaires.
- La Grande-Bretagne utilise GMT.
- Le temps va toujours de l’avant.
- La différence entre le temps actuel et une semaine par rapport à l’heure actuelle est toujours de 7 * 86400 secondes.
- La différence entre deux horodatages est une mesure précise du temps écoulée entre les deux.
- 24:12:34 est une heure invalide.
- Chaque nombre entier est une année théorique possible.
- Si vous affichez une date, l’heure affichée a la même seconde que l’heure stockée.
- Ou la même année.
- Mais au moins la différence numérique entre l’année affichée et celle enregistrée sera au minimum de 2.
- Si vous avez une date dans le format correct YYYY-MM-DD, l’année est constituée de quatre caractères.
- Si vous fusionnez deux dates, en prenant le mois de la première et le jour ou l’année de la seconde, vous aurez une date valide.
- Mais cela fonctionnera, si les deux années sont des années bissextiles.
- Si vous prenez un algorithme publié par le W3C pour le calcul de durées de dates, cela fonctionnera dans tous les cas.
- La bibliothèque standard supporte les années négatives et les années au-delà de 10000.
- Les fuseaux horaires différent toujours d’une heure pleine.
- Si vous convertissez un horodatage avec une précision de la milliseconde vers une date et une heure avec la précision de la seconde, vous pouvez ignorez les millisecondes.
- Mais vous pouvez ignorez les millisecondes, s’il y en a moins que 0.5
- Les années à deux chiffres doivent être situées entre 1900 et 2099
- Si vous analysez une date et une heure, vous pouvez lire les nombres caractère par caractère, sans avoir besoin de revenir en arrière.
- Mais si vous imprimez une date et une heure, vous pouvez écrire les nombres caractère par caractère, sans avoir besoin de revenir en arrière.
- Vous n’aurez jamais besoin d’analyser un format tel que —12Z ou P12Y34M56DT78H90M12.345S
- Il y a seulement 24 fuseaux horaires.
- Les fuseaux horaires sont toujours a des heures complètes depuis UTC.
- L’heure d’été (DST) commence et termine à la même date partout.
- L’heure d’été est toujours avancée d’une heure.
- Lire l’horloge d’un client et la comparer avec UTC est une bonne manière de déterminer leur fuseau horaire.
- La pile logicielle essaiera ou n’essaiera pas automatiquement d’ajuster le fuseau horaire ou l’heure d’été.
- Mon logiciel est seulement utilisé en interne ou localement, aussi je n’ai pas besoin de me soucier des fuseaux horaires.
- Ma pile logicielle la gérera sans que j’ai quoique ce soit de spécial à faire.
- Je peux facilement maintenir par moi-même une liste de fuseau horaire.
- Toutes les mesures de temps d’une horloge donnée se feront dans le même cadre de référence.
- Les années ont 365 ou 366 jours.
- Chaque date calendaire est suivie de la suivante dans l’ordre, sans saut.
- Une date ou une heure donnée sans ambiguïté identifie un moment unique.
- Les années bissextiles arrivent tous les 4 ans.
- Vous pouvez déterminer le fuseau horaire depuis l’état ou la province.
- Vous pouvez déterminer le fuseau horaire depuis la cité ou la ville.
- Le temps passe à la même vitesse du haut d’une montagne et en bas d’une vallée.
- Une heure est aussi longue que la suivante dans tous les systèmes de temps.
- Vous pouvez calculer quand les secondes intercalaires seront ajoutées.
- La précision d’un type de donnée retournée par une fonction getCurrentTime() est la même que la précision de la fonction.
- Deux appels subséquents à la fonction getCurrentTime() retourneront des résultats distincts.
- Le second de deux appels subséquents à la fonction getCurrentTime() aura un résultat plus grand.
- Le logiciel ne fonctionnera jamais sur un vaisseau spatial en orbite d’un trou noir.
Sérieusement ? Des trous noirs ?
Hé, si Bruce Sterling dit que mon logiciel a besoin d’être résilient contre les distorsions du temps causé par les trous noirs, je vais être attentif à ce propos.
Le reste n’est volontairement pas traduit du fait de remerciements de l’auteur envers plusieurs personnes…
Historique
J’ai écrit historiquement cette traduction sur le wiki de la communauté “OpenBSD Pour Tous”.