Τι είναι το COBOL και γιατί τόσα πολλά ιδρύματα βασίζονται σε αυτό;

Ο κυβερνήτης του Νιου Τζέρσεϊ πρόσφατα αναφέρθηκε COBOL, μια γλώσσα προγραμματισμού 60 ετών. Τι ακριβώς είναι; Και γιατί εξακολουθεί να είναι το κλειδί του οικονομικού κόσμου, παρά το γεγονός ότι λίγοι άνθρωποι εξακολουθούν να γνωρίζουν πώς να το χρησιμοποιούν;

Η προέλευση της COBOL

Γκρέις Χόππr ήταν ένα φαινόμενο. Απέκτησε διδακτορικό στα μαθηματικά από το Γέιλ, ήταν καθηγήτρια στο Βασάρ και άφησε το Πολεμικό Ναυτικό των ΗΠΑ με τον βαθμό του υποναύαρχου. Η συμβολή της στον τομέα των υπολογιστών μπορεί να κριθεί από τον αριθμό των ιδρυμάτων και των προγραμμάτων που έχουν δημιουργήθηκε στη μνήμη της. ο Εθνικό Επιστημονικό Υπολογιστικό Κέντρο Έρευνας Ενέργειας ονόμασε το Cray XE6 υπερυπολογιστής μετά από αυτήν. Το Πολεμικό Ναυτικό ονόμασε επίσης το αντιτορπιλικό του με κατευθυνόμενους πυραύλους, το USS Hopper. Το σύνθημα του πλοίου, “Aude et Effice” (“Dare and Do,”) θα μπορούσε κάλλιστα να επινοήθηκε έχοντας κατά νου τον Hopper.

Με γνώμονα τη δημιουργία μιας γλώσσας προγραμματισμού πιο κοντά στα αγγλικά από ό,τι καταλαβαίνουν οι υπολογιστές με κώδικα μηχανής, ο Hopper ανέπτυξε τον πρώτο μεταγλωττιστή. Αυτό άνοιξε την πόρτα για τις πρώτες μεταγλωττισμένες γλώσσες, όπως π.χ FLOW-MATIC. Αυτό της χάρισε μια θέση στη Διάσκεψη/Επιτροπή για τις Γλώσσες Συστημάτων Δεδομένων (CODASYL) του 1959.

Ήταν επίσης καθοριστική για την προδιαγραφή και την ανάπτυξη του Κοινή γλώσσα επιχειρηματικού προσανατολισμού (COBOL). Η πρώτη συνάντηση έγινε στις 23 Ιουνίου 1959 και η έκθεσή της και προδιαγραφή της γλώσσας COBOL ακολούθησε τον Απρίλιο του 1960.

Η COBOL ήταν ριζοσπαστική

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

Η γλώσσα ήταν περίτεχνη και παρείχε ένα σχεδόν αγγλικό λεξιλόγιο για να δουλέψουν οι προγραμματιστές. Σχεδιάστηκε για να χειρίζεται τεράστιους όγκους δεδομένων και να είναι εξαιρετικά μαθηματικά ακριβής.

Το λεξιλόγιό του με δεσμευμένες λέξεις (οι λέξεις που συνθέτουν τη γλώσσα) φτάνει τις 400. Ένας προγραμματιστής συνδυάζει αυτές τις δεσμευμένες λέξεις μαζί, ώστε να έχουν συντακτικό νόημα και να δημιουργήσουν ένα πρόγραμμα.

  Πώς να απολυμάνετε το ποντίκι και το πληκτρολόγιό σας

Κάθε προγραμματιστής που είναι εξοικειωμένος με άλλες γλώσσες θα σας πει ότι 400 είναι ένας απίστευτος αριθμός δεσμευμένων λέξεων. Για σύγκριση, το Γλώσσα Γ έχει 32, και Πύθων έχει 33.

Μια άλλη ιδιορρυθμία του COBOL είναι η αυστηρή απαίτησή του να ξεκινούν ορισμένες γραμμές προγράμματος σε συγκεκριμένες στήλες. Αυτό είναι ένα hangover από τις μέρες του χαρτιά διάτρησης. Σήμερα, οι προγραμματιστές έχουν μεγαλύτερη ελευθερία όταν μορφοποιούν το COBOL και δεν χρειάζεται πλέον να πληκτρολογούν τα πάντα με κεφαλαία. Αυτό κάνει την εργασία μαζί του λιγότερο επιτακτική και φωνητική, αλλά εξακολουθεί να είναι ένα δημιούργημα της εποχής του, όπως φαίνεται παρακάτω:

IDENTIFICATION DIVISION.
      PROGRAM-ID. Hello-World.
      DATA DIVISION.
      FILE SECTION.
      WORKING-STORAGE SECTION.
      PROCEDURE DIVISION.
      MAIN-PROCEDURE.
           DISPLAY "Hello world, from How-To Geek!"
           STOP RUN.
      END PROGRAM Hello-World.

Η COBOL είναι ένα χτύπημα

Οι περισσότερες συναλλαγές με ATM εξακολουθούν να χρησιμοποιούν COBOL.

Όσο αδέξιο κι αν φαίνεται σήμερα, η COBOL ήταν επαναστατική όταν κυκλοφόρησε. Βρήκε εύνοια στον χρηματοπιστωτικό τομέα, στην ομοσπονδιακή κυβέρνηση και σε μεγάλες εταιρείες και οργανισμούς. Αυτό οφειλόταν στην επεκτασιμότητα, τις δυνατότητες χειρισμού παρτίδων και τη μαθηματική ακρίβεια. Εγκαταστάθηκε σε mainframes σε όλο τον κόσμο, ριζώθηκε και γνώρισε μεγάλη άνθηση. Σαν επίμονο ζιζάνιο, απλά δεν θα πεθάνει.

Η εξάρτησή μας από συστήματα που εξακολουθούν να λειτουργούν με COBOL είναι εκπληκτική. ΕΝΑ έκθεση του Reuters το 2017 μοιράστηκε τα ακόλουθα εντυπωσιακά στατιστικά στοιχεία:

Υπάρχουν 220 δισεκατομμύρια γραμμές κώδικα COBOL που χρησιμοποιούνται ακόμη σήμερα.
Η COBOL είναι το θεμέλιο του 43 τοις εκατό όλων των τραπεζικών συστημάτων.
Τα συστήματα που τροφοδοτούνται από την COBOL διαχειρίζονται 3 τρισεκατομμύρια δολάρια καθημερινού εμπορίου.
Η COBOL χειρίζεται το 95 τοις εκατό όλων των σαρώσεων καρτών ATM.
Η COBOL καθιστά δυνατή το 80 τοις εκατό όλων των προσωπικών συναλλαγών με πιστωτική κάρτα.

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

Το COBOL είναι ένα πρόβλημα

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

  Οι καλύτερες εναλλακτικές λύσεις στα Kickass Torrents το 2017 και πώς να παραμείνετε ασφαλείς

Αυτό είναι ένα τέτοιο πρόβλημα που ο Bill Hinshaw, ένας βετεράνος της COBOL, αναγκάστηκε να συνταξιοδοτηθεί για να ιδρύσει COBOL Καουμπόηδες. Αυτή η ιδιωτική συμβουλευτική εταιρεία εξυπηρετεί απελπισμένους εταιρικούς πελάτες που δεν μπορούν να βρουν πουθενά κωδικοποιητές με γνώσεις COBOL. Οι «νεαροί» στο COBOL Cowboys (το μότο του οποίου είναι «Not Our First Rodeo») είναι στα 50 τους. Πιστεύουν ότι το 90 τοις εκατό των επιχειρηματικών συστημάτων του Fortune 500 λειτουργούν με COBOL.

Φυσικά, οι ιδιωτικές επιχειρήσεις, οι εταιρείες και οι τράπεζες δεν είναι οι μόνες που πρέπει να συγκρίνουν τεράστια ποσά οικονομικών δεδομένων. Οι ομοσπονδιακές, επαρχιακές και τοπικές κυβερνητικές υπηρεσίες έχουν τις ίδιες απαιτήσεις. Όπως όλοι οι άλλοι, χρησιμοποιούν mainframes και COBOL για αυτό.

Ο τρομερός αντίκτυπος της πανδημίας του κορωνοϊού έχει οδηγήσει σε ραγίσματα, θανάτους και οικονομική αβεβαιότητα για τους ιδιοκτήτες επιχειρήσεων, τους εργαζόμενους και τους αυτοαπασχολούμενους. Ο τεράστιος αριθμός του απολυμένου και απολυμένου προσωπικού στο Νιου Τζέρσεϊ οδήγησε το κυβερνήτης να κάνει έκκληση για έμπειρους προγραμματιστές COBOL για να βοηθήσουν τα γηρασμένα back-end συστήματα του κράτους. Αυτά καταπονούνται για να αντιμετωπίσουν το 326.000 νέες εγγραφές.

ο Ανοίξτε το Mainframe Project τρέχει μια εθελοντική πρωτοβουλία για να βοηθήσει. Εάν πιστεύετε ότι μπορείτε να βοηθήσετε, θα χαρούν να σας ακούσουν.

Το Νιου Τζέρσεϊ δεν είναι μόνο σε αυτή τη δύσκολη θέση. Πάνω από 10 εκατομμύρια άνθρωποι έχουν εγγραφεί ως άνεργοι, και ο αριθμός αυτός αυξάνεται. Το Κονέκτικατ δυσκολεύεται να επεξεργαστεί ένα τέταρτο εκατομμυρίου νέων εγγραφών στα 40χρονα συστήματα του κράτους.

Αυτό είναι ένα ευρέως διαδεδομένο και βαθιά ενσωματωμένο πρόβλημα. ΕΝΑ Έκθεση 2016 από το Γραφείο Λογοδοσίας της Κυβέρνησης καταχωρημένα συστήματα COBOL που λειτουργούν σε mainframes ηλικίας έως 53 ετών. Αυτά περιλαμβάνουν συστήματα που χρησιμοποιούνται για την επεξεργασία δεδομένων που σχετίζονται με το Υπουργείο Υποθέσεων Βετεράνων, το Υπουργείο Δικαιοσύνης και τη Διοίκηση Κοινωνικής Ασφάλισης.

Γιατί να μην γίνει η μετεγκατάσταση και η αναβάθμιση, όπως, χθες;

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

  Πώς να ελέγξετε διαφορετικές ζώνες ώρας σε iPhone και iPad

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

“Μόλις πέτυχα μια μετατροπή για να πάω από COBOL στην Java”, είπε ο Hinshaw. «Τους πήρε τέσσερα χρόνια, και ακόμα δεν έχουν τελειώσει

Οταν ο Η Commonwealth Bank of Australia αντικατέστησε τη βασική της πλατφόρμα COBOL το 2012, χρειάστηκαν πέντε χρόνια με τελικό κόστος 749,9 εκατομμύρια δολάρια (1 δισεκατομμύριο δολάρια Αυστραλίας).

Και τότε είναι που πάει σύμφωνα με το σχέδιο. τράπεζα του Ηνωμένου Βασιλείου, TSB, αναγκάστηκε να μεταναστεύσει από ένα σύστημα που βασίζεται σε COBOL το 2018 λόγω εξαγοράς. Δεν πήγε καλά. Επειδή η τράπεζα δεν μπορούσε να συναλλάσσεται για μέρες, το κόστος της μετανάστευσης κατέληξε να είναι 330 εκατομμύρια λίρες. Αυτό ήταν επιπλέον του προϋπολογισμού κόστους για τις εργασίες μηχανικής για την πραγματική μετανάστευση. Η TSB έχασε επίσης 49,1 εκατομμύρια λίρες από οικονομική απάτη, ενώ τα συστήματά της έλιωναν.

Η αποζημίωση πελατών ξεπέρασε τα 125 εκατομμύρια λίρες και η τράπεζα χρειάστηκε να ξοδέψει 122 εκατομμύρια λίρες για την πρόσληψη νέου προσωπικού για να αντιμετωπίσει τις 204.000 υποθέσεις καταγγελιών πελατών. Ο διευθύνων σύμβουλος παραιτήθηκε και η εταιρεία εξακολουθεί να καθαρίζει τη ζημιά δύο χρόνια μετά το συμβάν.

Το αίνιγμα COBOL

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

Για να επιτευχθεί αυτό χωρίς διακοπή, απώλεια δεδομένων και χρόνο διακοπής λειτουργίας θα απαιτηθούν σύγχρονη τεχνογνωσία και χρήματα, που είναι το 50 τοις εκατό της εξίσωσης. Το άλλο μισό είναι η τεχνογνωσία και ο χρόνος της COBOL. Δυστυχώς, αυτά είναι τα δύο συστατικά που έχουμε σχεδόν τελειώσει.

Ίσως μια νέα φυλή COBOL καουμπόηδες θα πάει στην πόλη.