Sportime

Μετά το millennium bug έρχεται το Y10K, αλλά δε θα ζούμε μέχρι τότε

Το Y10K problem είναι ένα πολύ μακρινό τεχνολογικό ζήτημα που δείχνει πώς απλές υποθέσεις στον κώδικα, όπως τα τέσσερα ψηφία του έτους, μπορεί κάποτε να σπάσουν.

Γρηγόρης Κεντητός 3 λεπτά ανάγνωσης
Y10K problem
Πρόσθεσε το Sportime στις αγαπημένες σου πηγές

Το Y10K problem είναι το πολύ μακρινό ξαδερφάκι του millennium bug. Δεν αφορά το 2030, ούτε το 2050, ούτε καν τον επόμενο αιώνα. Αφορά το έτος 10000, όταν το ημερολόγιο θα περάσει από τέσσερα ψηφία σε πέντε.

Σήμερα όλα μοιάζουν απλά. Γράφουμε 2026, 2035, 9999. Όλα αυτά έχουν τέσσερα ψηφία. Πολλά προγράμματα, αρχεία και συστήματα έχουν φτιαχτεί με αυτή την ιδέα. Ότι το έτος θα γράφεται πάντα με τέσσερα ψηφία.

Τι αλλάζει στο έτος 10000

Το πρόβλημα αρχίζει όταν έρθει το 10000. Εκεί το έτος δεν χωρά πια σε αυτή τη λογική. Έχει πέντε ψηφία. Αν ένα παλιό σύστημα έχει γραφτεί με αυστηρό κανόνα ότι το έτος είναι πάντα τετραψήφιο, μπορεί να μπερδευτεί, να κόψει λάθος την ημερομηνία ή να τη διαβάσει σαν κάτι εντελώς διαφορετικό.

Κάτι παρόμοιο είχε γίνει και με το Y2K. Τότε, πολλά προγράμματα έγραφαν το έτος με δύο ψηφία. Το 1999 γινόταν απλώς 99. Όταν ήρθε το 2000, το 00 μπορούσε να διαβαστεί σαν 1900. Γι αυτό υπήρχε φόβος ότι συστήματα σε τράπεζες, υπηρεσίες και εταιρείες θα έκαναν λάθος υπολογισμούς.

Στο Y10K δεν υπάρχει μπέρδεμα ανάμεσα στο 1900 και στο 2000. Το θέμα είναι άλλο. Το έτος μεγαλώνει σε μήκος. Από το 9999 πάμε στο 10000. Και κάποια προγράμματα μπορεί να μην έχουν προβλέψει ότι μια ημερομηνία θα χρειαστεί παραπάνω χώρο.

Εδώ μπαίνει και ο όρος BCD. Ακούγεται βαρύς, αλλά η ιδέα του είναι απλή. Σε κάποιες μορφές αποθήκευσης, ο υπολογιστής κρατά κάθε ψηφίο χωριστά. Δηλαδή το 2026 το κρατά σαν 2, 0, 2 και 6. Αν το σύστημα έχει φτιαχτεί για τέσσερα τέτοια ψηφία, τότε μπορεί να φτάσει μέχρι το 9999. Για το 10000 χρειάζεται ένα ακόμη ψηφίο.

Γιατί δεν είναι πρόβλημα τώρα

Αυτό δεν σημαίνει ότι όλοι οι υπολογιστές θα πέσουν εκείνη τη μέρα. Πρώτα απ όλα, μιλάμε για μια εποχή περίπου οκτώ χιλιάδες χρόνια μακριά. Τα περισσότερα σημερινά κινητά, προγράμματα, βάσεις δεδομένων και λειτουργικά συστήματα δεν θα υπάρχουν όπως τα ξέρουμε. Θα έχουν αλλάξει πολλές φορές.

Παρόλα αυτά, το θέμα έχει ενδιαφέρον γιατί δείχνει πώς γεννιούνται τέτοια προβλήματα. Ένας προγραμματιστής φτιάχνει κάτι σήμερα και βάζει έναν κανόνα που φαίνεται λογικός. Τέσσερα ψηφία για το έτος αρκούν για πάρα πολύ καιρό. Το πρόβλημα είναι ότι στην τεχνολογία το πολύ καιρό δεν σημαίνει πάντα για πάντα.

Το Y10K μπορεί να αφορά παλιά αρχεία, ιστορικά δεδομένα, συστήματα αρχείων, ειδικά μηχανήματα, βιομηχανικό software ή οτιδήποτε έχει μείνει ζωντανό για αιώνες χωρίς σωστή αλλαγή. Αν ένα τέτοιο σύστημα περιμένει μόνο τετραψήφιο έτος, τότε η ημερομηνία 10000 μπορεί να του φανεί λάθος.

Υπάρχει και πιο καθημερινή πλευρά. Πολλά συστήματα βάζουν ημερομηνίες σε συγκεκριμένη σειρά. Για παράδειγμα, πρώτα το έτος, μετά ο μήνας, μετά η μέρα. Αυτό βοηθά να μπαίνουν οι ημερομηνίες σωστά σε λίστες. Αν όμως ξαφνικά το έτος γίνει πενταψήφιο και το πρόγραμμα δεν το περιμένει, η σειρά μπορεί να χαλάσει.

Τι μας μαθαίνει το Y10K

Η λύση δεν είναι δύσκολη ως ιδέα. Τα προγράμματα πρέπει να γράφονται χωρίς να θεωρούν ότι το έτος θα έχει πάντα τέσσερα ψηφία. Πρέπει να μπορούν να δεχτούν μεγαλύτερα έτη, ακόμη κι αν αυτά είναι πολύ μακριά. Αυτό είναι κυρίως θέμα σωστού σχεδιασμού.

Γι αυτό το Y10K δεν είναι λόγος πανικού. Είναι περισσότερο ένα καλό μάθημα. Το Y2K μας έδειξε ότι οι μικρές οικονομίες στον κώδικα μπορούν κάποτε να γίνουν μεγάλος πονοκέφαλος. Το Y10K μας θυμίζει ότι ακόμη και κάτι τόσο απλό όσο η ημερομηνία κρύβει υποθέσεις που κάποια στιγμή μπορεί να σπάσουν.

Οπότε ναι, μετά το millennium bug υπάρχει και το Y10K. Απλώς δεν είναι κάτι που θα ζήσουμε. Αν κάποτε οι άνθρωποι του έτους 10000 βρουν μπροστά τους παλιά συστήματα που επιμένουν στα τέσσερα ψηφία, θα έχουν να λύσουν ένα πρόβλημα που γεννήθηκε πολλές χιλιάδες χρόνια πριν. Και τότε κάποιος ίσως αναρωτηθεί γιατί το software του μακρινού 2026 πίστευε ότι το μέλλον θα χωρά πάντα σε τέσσερις αριθμούς.

Επίσης σε κατηγορίες: Τεχνολογία

Σχετικά άρθρα

Περισσότερα στην κατηγορία

Πρόσφατα νέα

Περισσότερα από Γρηγόρης Κεντητός

Από άλλη κατηγορία

Τελευταία νέα