Ce este COBOL și de ce atât de multe instituții se bazează pe el?

Guvernatorul New Jersey-ului recent amintit COBOL, un limbaj de programare vechi de 60 de ani. Ce este mai exact? Și de ce este încă piciorul lumii financiare, în ciuda faptului că puțini oameni mai știu să-l folosească?

Originile lui COBOL

Grace Hopper a fost un fenomen. Ea a obținut un doctorat în matematică la Yale, a fost profesor la Vassar și a părăsit Marina SUA cu gradul de contraamiral. Contribuțiile ei în domeniul calculului pot fi judecate după numărul de fundații și programe pe care le au a fost creat în memoria ei. The Centrul Național de Calcul Științific de Cercetare Energetică numit ei Cray XE6 supercomputer după ea. Marina și-a numit, de asemenea, distrugătorul său cu rachete ghidate, USS Hopper, după ea. Motto-ul navei, „Aude et Effice” („Dare and Do”) ar fi putut foarte bine să fi fost inventat cu Hopper în minte.

Îndemnat să creeze un limbaj de programare mai apropiat de engleză decât înțeleg computerele cu codul mașină, Hopper a dezvoltat primul compilator. Acest lucru a deschis ușa pentru primele limbaje compilate, cum ar fi FLOW-MATIC. Acest lucru i-a adus un loc în Conferința/Comitetul privind limbajele sistemelor de date (CODASYL) din 1959.

Ea a jucat, de asemenea, un rol esențial în specificarea și dezvoltarea Limbă comună orientată spre afaceri (COBOL). Prima întâlnire a avut loc la 23 iunie 1959, iar raportul acesteia și specificarea limbajului COBOL urmată în aprilie 1960.

COBOL a fost radical

COBOL conținea câteva concepte inovatoare. Probabil, cea mai semnificativă dintre acestea a fost capacitatea de a rula pe hardware produs de diferiți producători, ceea ce a fost fără precedent la acea vreme.

Limbajul a fost elaborat și a oferit un vocabular aproape englezesc cu care să lucreze programatorii. A fost conceput pentru a gestiona volume uriașe de date și pentru a fi extrem de precis din punct de vedere matematic.

Vocabularul său de cuvinte rezervate (cuvintele care alcătuiesc limbajul) este de aproape 400. Un programator leagă aceste cuvinte rezervate împreună, astfel încât să aibă sens sintactic și să creeze un program.

Orice programator care este familiarizat cu alte limbi vă va spune că 400 este un număr incredibil de cuvinte rezervate. Pentru comparație, limbajul C are 32 și Piton are 33.

  12 cele mai bune instrumente de automatizare a casei cu sursă deschisă pentru casa inteligentă de vis

O altă ciudatenie a COBOL este cerința strictă ca anumite linii de program să înceapă în anumite coloane. Aceasta este o mahmureală din zilele lui carduri perforate. Astăzi, programatorii au mai multă libertate atunci când formatează COBOL și nu mai trebuie să scrie totul în majuscule. Acest lucru face ca lucrul cu acesta să fie mai puțin prescriptiv și mai strident, dar este totuși o creație a timpului său, așa cum se arată mai jos:

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 este un HIT

Majoritatea tranzacțiilor cu bancomate încă folosesc COBOL.

Oricât de ciudat ar părea astăzi, COBOL a fost revoluționar când s-a lansat. A găsit favoarea în sectorul financiar, în guvernul federal și în marile corporații și organizații. Acest lucru s-a datorat scalabilității, capacităților de manipulare a loturilor și preciziei matematice. A fost instalat în mainframe din toată lumea, a prins rădăcini și a înflorit. Ca o buruiană încăpățânată, pur și simplu nu va muri.

Dependența noastră de sistemele care încă rulează pe COBOL este uluitoare. A raport de la Reuters în 2017 a distribuit următoarele statistici uluitoare:

Există 220 de miliarde de linii de cod COBOL încă utilizate astăzi.
COBOL este baza a 43% din toate sistemele bancare.
Sistemele alimentate de COBOL gestionează comerțul zilnic de 3 trilioane de dolari.
COBOL se ocupă de 95 la sută din toate cardurile ATM-uri.
COBOL face posibile 80% din toate tranzacțiile personale cu cardul de credit.

După cum puteți vedea, este dificil să treceți o zi fără a utiliza un sistem care depinde de COBOL. Conturile bancare și serviciile de compensare a cecurilor, precum și infrastructurile publice, cum ar fi bancomatele și semafoarele, funcționează încă pe acest cod scris cu zeci de ani în urmă.

COBOL este o problemă

Programatorii care cunosc COBOL sunt fie pensionari, se gândesc la pensie, fie morți. Pierdem în mod constant oamenii care au abilitățile de a menține aceste sisteme vitale în funcțiune. Programatorii noi, mai tineri, nu cunosc COBOL. De asemenea, majoritatea nu doresc să lucreze pe sisteme pentru care trebuie să mențineți cod vechi sau să scrieți cod nou.

  14 cele mai bune aplicații de jurnal pentru a-ți rezuma ziua

Aceasta este o problemă atât de mare încât Bill Hinshaw, un veteran COBOL, a fost forțat să iasă la pensie pentru a fonda COBOL Cowboys. Această firmă de consultanță privată se adresează clienților corporativi disperați care nu găsesc nicăieri codificatori cunoscători de COBOL. „Tinerii” de la COBOL Cowboys (al cărui motto este „Not Our First Rodeo”) au peste 50 de ani. Ei cred că 90% din sistemele de afaceri Fortune 500 rulează pe COBOL.

Desigur, întreprinderile private, corporațiile și băncile nu sunt singurele care trebuie să strângă cantități uriașe de date financiare. Serviciile guvernamentale federale, provinciale și locale au aceleași cerințe. La fel ca toți ceilalți, folosesc mainframe și COBOL pentru asta.

Impactul îngrozitor al pandemiei de coronavirus a dus la dureri de inimă, decese și incertitudine economică pentru proprietarii de afaceri, angajați și cei care desfășoară activități independente. Numărul mare de personal concediat și concediat din New Jersey a condus guvernator să apeleze la programatori COBOL experimentați pentru a veni în ajutorul sistemelor de back-end îmbătrânite ale statului. Acestea sunt încordate pentru a face față 326.000 de noi înregistrări.

The Deschideți proiectul mainframe derulează o inițiativă de voluntariat pentru a ajuta. Dacă credeți că ați putea ajuta, ei ar fi bucuroși să audă de la dvs.

New Jersey nu este singurul în această problemă. Peste 10 milioane de oameni s-au înscris pentru șomaj, iar această cifră este în creștere. Connecticut se luptă să proceseze un sfert de milion de noi înregistrări asupra sistemelor vechi de 40 de ani ale statului.

Aceasta este o problemă larg răspândită și profund înrădăcinată. A Raport 2016 al Oficiului de Responsabilitate Guvernamentală sisteme COBOL listate care rulează pe mainframe de până la 53 de ani. Acestea includ sisteme utilizate pentru procesarea datelor referitoare la Departamentul pentru Afaceri Veteranilor, Departamentul de Justiție și Administrația Securității Sociale.

De ce să nu migrați și să faceți upgrade, cum ar fi ieri?

Actualizarea acestor sisteme vechi nu este atât de simplă pe cât pare. Sistemele sunt vitale, 24/7 puncte de sprijin pe care pivotează lumea financiară, guvernamentală și de afaceri. Codul este vechi, cu mai multe straturi și, adesea, slab sau complet nedocumentat. De asemenea, trebuie să funcționeze, tot timpul. Perspectiva a fost comparată cu scoaterea elicelor de pe o aeronavă și încercarea de a o potrivi cu motoare cu reacție – în timp ce se afla în aer.

  10 suplimente de securitate pentru browser la Pentru confidențialitate- Cele mai bune instrumente de protecție

Lăsând la o parte riscul, argumentul economic de a migra către sistemele moderne este, de asemenea, unul dur. Banii care au fost pompați pentru a menține operaționale aceste mainframe și aplicații COBOL sunt uimitoare. Ar trebui instituțiile să arunce totul și să înceapă din nou cât timp acel cod COBOL încă rulează și funcționează? Este un pas greu pentru o placă care probabil nu este deosebit de înclinată din punct de vedere tehnic. O migrare COBOL nu va fi ieftină și nici rapidă.

„Tocmai am trecut printr-o conversie pentru a trece de la COBOL la Java”, a spus Hinshaw. „Le-a luat patru ani, și încă nu s-au terminat.”

Cand Commonwealth Bank of Australia și-a înlocuit platforma de bază COBOL în 2012, a durat cinci ani la un cost final de 749,9 milioane USD (1 miliard USD australian).

Și atunci merge conform planului. banca din Marea Britanie, TSB, a fost forțat să migreze de la un sistem bazat pe COBOL în 2018 din cauza unei cumpărări. Nu a mers bine. Deoarece banca nu a putut tranzacționa zile întregi, costul migrației a ajuns să fie de 330 de milioane de lire sterline. Aceasta a fost în plus față de costul bugetat pentru lucrările de inginerie pentru migrarea efectivă. TSB a pierdut, de asemenea, 49,1 milioane de lire sterline din cauza fraudei financiare, în timp ce sistemele sale se topeau.

Compensarea clienților a depășit 125 de milioane de lire sterline, iar banca a trebuit să cheltuiască 122 de milioane de lire sterline pentru angajarea de personal nou pentru a face față celor 204.000 de cazuri de reclamații ale clienților. Directorul executiv a demisionat, iar compania încă curăță daunele la doi ani de la eveniment.

Enigma COBOL

Lucrurile nu pot rămâne așa cum sunt, dar perspectiva de a face ceva în acest sens nu este deloc atrăgătoare. Cu toate acestea, singurul mod în care lucrurile se vor îmbunătăți este să efectuăm migrări controlate și atente către software și hardware modern.

Pentru a realiza acest lucru fără întreruperi, pierderea de date și timpul de nefuncționare va necesita expertiză modernă și bani, care reprezintă 50% din ecuație. Cealaltă jumătate este experiența și timpul COBOL. Din păcate, acestea sunt cele două ingrediente din care aproape am epuizat.

Poate că o nouă rasă de cowboy COBOL va merge în oraș.