COBOL

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
COBOL
limbaj de programare
COBOL.png
Un program simplu în COBOL
Autor Grace Murray Hopper , William Selden, Gertrude Tierney, Howard Bromberg, Howard Discount, Vernon Reeves, Jean E. Sammet
Data de origine 1959
Ultima versiune ISO / IEC 1989: 2014/2014
Utilizare Scop general
Paradigme Programare procedurală , programare orientată spre afaceri
Tastare Puternic
Extensii comune cbl, cob și cpy
Influențată de FLOW-MATIC, COMTRAN și FACT

COBOL ( acronim de CO mmon B usiness- O indent L Lingue , adică, literal, „ limbaj comun orientat spre aplicații comerciale ”) este un limbaj de programare , unul dintre primele dezvoltate și încă prezent în multe aplicații software comerciale din tip bancar . [1]

Istorie

Conceput în 1959, s-a născut oficial în 1961, grație unui grup de lucru format din elemente ale industriei SUA și a unor agenții guvernamentale din Statele Unite pentru a crea un limbaj de programare adecvat dezvoltării datelor comerciale. Grace Murray Hopper a jucat un rol major în dezvoltarea și proiectarea limbajului.

Din anii șaizeci până astăzi, COBOL a suferit evoluții continue: în anii 1968, 1974 și 1985Institutul Național de Standardizare American (ANSI) a definit standardele Cobol68, Cobol74 și Cobol85, adoptate și de Organizația Internațională pentru Standardizare (ISO).

Odată cu ISO / IEC 1989-2002, început în 1989 și finalizat în 2002, standardul internațional definitiv a fost atins.

Aplicațiile COBOL, cunoscute pentru stabilitatea lor, au fost, până în 2013 (și se presupune că vor urma mulți ani), la baza funcționării bancomatelor și a operațiunilor multor bănci și companii de asigurări. De fapt, foarte des acest lucru se datorează și faptului că aceste aplicații au fost dezvoltate începând din anii șaizeci și actualizate continuu în anii șaptezeci și optzeci, după prima computerizare pe scară largă a companiei până la ultimele intervenții majore:

  • la 31 decembrie 1998 pentru a gestiona tranziția de la lire la euro . De fapt, trebuie amintit că - chiar dacă moneda a fost utilizată din 2002 - tranzacțiile financiare au fost decontate în euro de la 1 ianuarie 1999 ;
  • pe 31 decembrie 1999 pentru a evita pericolul bugului mileniului .

Standardul COBOL 2002 include suport pentru programarea orientată pe obiecte și alte caracteristici tipice unui limbaj modern.

Potrivit unor surse, COBOL a fost încă utilizat în 70% din toate tranzacțiile comerciale în 2013, iar 85% din aplicațiile de afaceri din întreaga lume au fost scrise în COBOL [2] . Potrivit unui sondaj Micro Focus , companiile din 2013 încă căutau programatori COBOL care să înlocuiască dezvoltatorii istorici, deoarece 75% din procesele de rescriere într-un limbaj mai modern au eșuat sau costul de înlocuire este prea mare pentru a fi suportat [2] .

Cu toate acestea, nu lipsesc exemplele de succes în adaptarea tipăririlor COBOL la sistemele grafice de operare, recurgând pur și simplu la codificarea lor în format html (grafic) în loc de txt (caracter) [ fără sursă ] .

Începând cu 2014, IBM a estimat o populație mondială de aproximativ un milion de programatori COBOL. [3]

Organizarea surselor

Fiecare sursă scrisă corect în COBOL conține 4 divizii, care nu sunt obligatorii, care includ:

  • DIVIZIUNEA DE IDENTIFICARE

Sunt incluse informații generice precum numele programului, data scrierii, numele computerului utilizat și alte informații.

  • DIVIZIUNEA MEDIULUI

Indică fișierele utilizate în sursă .

  • DIVIZIUNEA DATELOR

Conține definiția fișierelor, arhivelor, variabilelor și constantelor.

  • PROCEDURI DE DIVIZIUNE

Această diviziune definește procedura de prelucrare care trebuie aplicată datelor.

Principiile programării

În general, instrucțiunile lingvistice COBOL sunt concepute ca propoziții scrise în limba engleză , care se termină cu un punct. În anumite situații, ele adună mai multe instrucțiuni într-o singură „propoziție”, care se termină cu un punct, dar apoi folosește adesea virgule și punct și virgulă pentru a termina instrucțiunile individuale.

Instrucțiunile limbajului sunt compuse în principal din cuvinte cheie, constante literale și operatori matematici . Cuvintele cheie sunt scrise folosind litere mari (ale alfabetului englez) și cratima normală (-); din COBOL2, literele mari și mici pot fi folosite indiferent. În general, simbolurile care pot fi utilizate în limba sunt destul de limitate, cu excepția conținutului constantelor alfanumerice literale, care , teoretic , ar putea conține orice simbol ( cu excepția celui utilizat ca delimitator) în conformitate cu capacitățile particularului compilator .

Simbolurile disponibile în limbă.
Simboluri Descriere
„0” .. „9” cifre numerice
„A” .. „Z” litere mari ale alfabetului latin
'' spaţiu
„+” semnul plus
„-” semn minus sau cratimă
„*” asterisc
„/” bara oblică
„$” semnul dolarului sau monedei
',' virgulă
";" punct şi virgulă
'.' punct fix
'(' deschiderea parantezei
')' paranteză de închidere
„<” minor
'>' mai mare
„<=” mai mic sau egal
'> =' mai mare sau egal

Cele mai importante cuvinte cheie din limbă sunt imperativele „verbe”, care descriu o comandă pe care doriți să o executați. Un grup interesant de cuvinte cheie este reprezentat de „constante figurative”, care servesc la indicarea verbală a constantelor utilizate în mod obișnuit. De exemplu, cuvântul cheie ZERO reprezintă unul sau mai multe zerouri, în funcție de context.

Șirurile sunt delimitate prin ghilimele ( ghilimele unice) și de obicei nu sunt prevăzute forme de protecție pentru încorporarea ghilimelelor în șiruri: din acest motiv șirurile pot fi împărțite, concatenându-le cu constanta figurativă CITARE; în mod normal, totuși, repetarea ghilimelelor este interpretată de compilator ca un ghilimel în cadrul șirului (de exemplu: pentru a scrie, respectiv, utilizarea , îl folosesc " , scriem: " utilizarea "," I folosește-l '' ' ).

Manipularea numerică a COBOL este specială în comparație cu limbajele de programare obișnuite, deoarece variabilele sunt declarate cu dimensiunea lor exactă a cifrei, stabilind, de asemenea, cantitatea de zecimale și modul în care informațiile trebuie tratate. În practică, determinați modul în care trebuie reprezentată valoarea, lăsând compilatorul să efectueze de fiecare dată toate conversiile necesare. În acest sens, un program COBOL are o manipulare foarte grea pentru valorile numerice, deci mai lent decât alte limbi, unde valorile numerice sunt tratate pe baza caracteristicilor fizice ale procesorului și conversiile de tip trebuie declarate în mod explicit.

Variabilele utilizate în limbă sunt întotdeauna globale și ca atare trebuie declarate într-o poziție specifică. Aceste variabile, cu excepția situațiilor excepționale, fac întotdeauna parte dintr-o înregistrare , destinată unei colecții de câmpuri de informații. Acest management special forțează să stabilească exact dimensiunile pe care trebuie să le aibă fiecare informație dacă sunt înregistrate în memoria de masă (discuri, benzi sau altele) sau dacă sunt tipărite. Într-un anumit sens, această caracteristică poate preveni sau face dificilă utilizarea unei forme de codificare a caracterelor care include o dimensiune variabilă a caracterelor, deoarece înregistrările pot fi remapate, tratând chiar valorile numerice ca seturi de cifre literale.

Acest detaliu, care nu este deloc nesemnificativ, sugerează utilizarea limbajului pentru a gestiona datele care pot fi reprezentate cu codul ASCII tradițional, adică cu primele 127 de puncte de codare (de la U + 0000 la U + 007F). Desigur, sunt disponibile compilatoare pentru a depăși această problemă, dar în acest caz este necesar să verificați modul în care datele sunt gestionate de fapt.

Instrucțiunile COBOL sunt scrise pe ecran în spațiul dintre coloana a opta și a șaptezeci și a doua. Prin urmare, videoclipul este împărțit în trei zone, respectând spațiile stabilite în anii 1940 în care coloanele de la unu la șase reprezintă numere de linie, în timp ce a șaptea coloană acceptă caractere speciale. Zona de după a 72-a coloană este de obicei ignorată. Instrucțiunile pot fi, de asemenea, scrise folosind mai multe linii, având previziunea de a continua pornind de la zona "B"; în general nu este necesar să se indice în mod explicit că afirmația continuă pe următoarea linie, deoarece punctul este folosit pentru a recunoaște concluzia lor. Cu toate acestea, în situații excepționale, un cuvânt cheie sau chiar un șir literal poate fi rupt; în acest caz, semnul - trebuie introdus în a șaptea coloană a rândului care continuă, în plus, dacă este un șir, reluarea acestuia trebuie reluată cu ghilimele. Cu toate acestea, având în vedere că este dificil să scrieți cuvinte cheie foarte lungi și că șirurile literal pot fi concatenate, este de dorit ca continuarea în rândul următor cu indicatorul din a șaptea coloană să fie evitată cu totul.

Comentariile din sursă sunt indicate prin inserarea unui asterisc în a șaptea coloană; dacă în schimb puneți o bară (/) doriți să solicitați o întrerupere de pagină, în faza de imprimare , cu condiția ca compilatorul să prevadă acest lucru.

Exemplu de cod: Bună ziua, lume!

Pictogramă lupă mgx2.svg Același subiect în detaliu: Hello world .
 000001 DIVIZIUNEA DE IDENTIFICARE.
000002 ID-PROGRAM. SALUT LUME.
000003 DIVIZIUNEA MEDIULUI.
000004 SECȚIUNEA DE CONFIGURARE.
000005 DIVIZIUNEA DATELOR.
000006 DIVIZIUNEA PROCEDURI.
000007
000008 AFIȘARE „BUNĂ, LUME.”
000009 STOP RUN.

Secțiunea ecranului

Secțiunea Ecran face parte din limbajul Cobol dedicat gestionării măștilor video. Deși nu face parte din standardul ANSI, este acceptat de majoritatea compilatoarelor de limbă Cobol. Vă permite să plasați ecrane pe ecran, incluzând atât date constante, cum ar fi titluri și descrieri, cât și date variabile, cum ar fi câmpurile elementare definite în secțiunea de stocare de lucru și câmpurile de înregistrare definite în secțiunea fișier. În această secțiune puteți atribui atribute pentru fiecare element afișat (culori, efecte intermitente, invers, evidențiat etc.) și de asemenea atribui controale pentru valorile acceptate: tip numeric cu sau fără semn, stabiliți, de asemenea, alinierea, datele formatului etc. La sfârșitul intrării este posibil să testați presiunea funcției și a tastelor săgeți și, în unele versiuni, și poziția mouse-ului. [4]

Exemplu:

Screen-section.jpg

Sursă

 DIVIZIUNEA DE IDENTIFICARE.
       ID-PROGRAM. EXEMPLU.
       AUTOR. GIORGIO BRANDOLIN.
       DIVIZIUNEA MEDIULUI.
       SECȚIUNEA DE CONFIGURARE.
       NUME SPECIALE.
       SECȚIUNEA DE INTRARE-IEȘIRE.
       CONTROLUL DOSARULUI.
       DIVIZIUNEA DATELOR.
       SECȚIUNEA DOSARULUI.
       SECȚIUNEA DE DEPOZITARE DE LUCRU.
       01 REC-PERSONAL.
           03 ANA-SURNAME PIC X (25).
           03 ANA-NAME PIC X (25).
           03 ADRESA ANA-PIC X (30).
           03 ANA-CITY PIC X (20).	
       SECȚIUNEA ECRANULUI.
       01 ECRAN INITIAL.
           03 SCREEN BLANK BACKGROUND-COLOR 1 FOREGROUND-COLOR 6.
       01 REGISTRUL DE INTRARE-AUTO.
           03 LINIA 6 COLOANA 20 EVIDENȚIA "Numele de familie:".
           03 PIC X (25) FOLOSIND ANA-SURNAME REVERSE-VIDEO.
           03 LINE COLUMN 20 EVIDENȚIA "Nume:".
           03 PIC X (25) FOLOSIND ANA-NAME REVERSE-VIDEO.
           03 LINE COLUMN 20 EVIDENȚIA "Adresă:".
           03 PIC X (30) FOLOSIND ADRESA ANA-REVERSE-VIDEO.
           03 LINE COLUMN 20 EVIDENȚIA "Oraș:".
           03 PIC X (20) FOLOSIND ANA-CITY REVERSE-VIDEO.		
       DIVIZIUNEA PROCEDURILOR.
       PROGRAMUL SECȚIUNII.
       START.
           AFIȘARE INIȚIALĂ A ECRANULUI.
           INPUT-DISPLAY PERSONAL.
           ACCEPTĂ INTRARE-PERSONAL.
       SFÂRȘIT.
           STOP RUN.

presa

O problemă care devine din ce în ce mai deranjantă este cea a imprimeurilor. Instrucțiunile standard ANSI '74 prevăd imprimarea tipăritelor cu forme continue de hârtie, care pot fi utilizate cu imprimante cu matrice de puncte conectate la portul paralel LPT1. Caracterele pot fi doar ASCII sau EBCDIC , cu spațiu și dimensiune fixe. De ceva timp, tehnologiile de imprimare s-au schimbat dramatic și imprimantele cu matrice de puncte au dispărut practic. Utilizarea formularelor continue are sens acum doar dacă aveți nevoie de mai multe copii, poate pentru formularele ștampilate sau preimprimate în hârtie chimică. În toate celelalte cazuri, o imprimantă laser rezolvă perfect orice nevoie de imprimare. Tocmai din acest motiv a apărut necesitatea unei adaptări software care să vă permită să utilizați orice imprimantă disponibilă și să modificați cu ușurință rapoartele, permițându-vă să modificați sursele COBOL cât mai puțin posibil.

Notă

  1. ^ COBOL: History, Applications and Future , în Webnews , 12 noiembrie 2014. Accesat pe 9 mai 2018 .
  2. ^ a b COBOL: în Italia toată lumea caută programatori , în Tom's Hardware , 6 noiembrie 2013. Adus 6 noiembrie 2013 (arhivat din original pe 9 noiembrie 2013) .
  3. ^ (RO) Darul Grace: Odiseea lui COBOL din Vietnam în Piață , pe theregister.co.uk, 8 aprilie 2014. Accesat pe 12 februarie 2019 ( depus pe 13 aprilie 2014).
  4. ^ Introducere în limbajul COBOL - Suport Micro Focus , la supportline.microfocus.com . Adus pe 9 ianuarie 2015 .

Elemente conexe

Alte proiecte

linkuri externe

Manuale de referință:

Compilatoare și alte produse:

Controlul autorității LCCN (EN) sh85027548 · GND (DE) 4010323-7 · BNF (FR) cb11941315s (data)
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT