COBOL

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
COBOL
llenguatge de programació
COBOL.png
Un programa senzill a COBOL
Autor Grace Murray Hopper , William Selden, Gertrude Tierney, Howard Bromberg, Howard Discount, Vernon Reeves, Jean E. Sammet
Data d’origen 1959
Última versió ISO / IEC 1989: 2014/2014
Ús Propòsit general
Paradigmes Programació procedimental , programació empresarial
Escrivint Fort
Extensions comunes cbl, cob i cpy
Influenciat per FLOW-MATIC, COMTRAN i FACT

COBOL ( acrònim de CO mmon B usiness- O indent L Lengage , és a dir, literalment, " llenguatge comú orientat a aplicacions comercials ") és un llenguatge de programació , un dels primers a desenvolupar-se i que encara és present en moltes aplicacions comercials de programari de tipus bancari . [1]

Història

Dissenyat el 1959, va néixer oficialment el 1961, gràcies a un grup de treball format per elements de la indústria nord-americana i algunes agències governamentals dels Estats Units per tal de crear un llenguatge de programació adequat al desenvolupament de dades comercials. Grace Murray Hopper va tenir un paper important en el desenvolupament i disseny del llenguatge.

Des dels anys seixanta fins a l’actualitat, COBOL ha experimentat contínues evolucions: els anys 1968, 1974 i 1985 l’American National Standards Institute (ANSI) va definir les normes Cobol68, Cobol74 i Cobol85, també adoptades per l’ Organització Internacional per a la Normalització (ISO).

Amb la norma ISO / IEC 1989-2002, iniciada el 1989 i finalitzada el 2002, s’ha assolit la norma internacional definitiva.

Les aplicacions COBOL, conegudes per la seva estabilitat, estaven fins al 2013 (i se suposa que durant molts anys), a la base del funcionament dels caixers automàtics i de les operacions de molts bancs i companyies d'assegurances. De fet, molt sovint això també es deu al fet que aquestes aplicacions es van desenvolupar a partir dels anys seixanta i es van actualitzar contínuament als anys setanta i vuitanta després de la primera informatització generalitzada de l’empresa fins a les darreres intervencions importants:

  • el 31 de desembre de 1998 per gestionar la transició de la lira a l’ euro . De fet, cal recordar que, fins i tot si la moneda s'ha utilitzat des del 2002, les transaccions financeres s'han liquidat en euros des de l'1 de gener de 1999 ;
  • el 31 de desembre de 1999 per evitar el perill de l’ error del mil·lenni .

L'estàndard COBOL 2002 inclou suport per a la programació orientada a objectes i altres característiques típiques d'un llenguatge modern.

Segons algunes fonts, COBOL encara es va utilitzar en el 70% de totes les transaccions comercials el 2013 i el 85% de les aplicacions empresarials a tot el món es van escriure en COBOL [2] . Segons una enquesta de Micro Focus , les empreses el 2013 encara buscaven programadors COBOL per substituir els desenvolupadors històrics, ja que el 75% dels processos de reescriptura en un llenguatge més modern han fallat o el cost de la substitució és massa alt per suportar-lo [2] .

Tot i això, no falten exemples d’èxit en l’adaptació d’impressions COBOL als sistemes operatius gràfics, simplement recorrent a la seva codificació en format html (gràfic) en lloc de txt (caràcter) [ sense font ] .

A partir del 2014, IBM calculava una població mundial d'aproximadament un milió de programadors COBOL. [3]

Organització de fonts

Cada font escrita correctament a COBOL conté 4 divisions, no obligatòries, que inclouen:

  • DIVISIÓ D'IDENTIFICACIÓ

S'inclou informació genèrica com el nom del programa, la data d'escriptura, el nom de l'ordinador utilitzat i altra informació.

  • DIVISIÓ AMBIENTAL

Indica els fitxers que s’utilitzen a la font .

  • DIVISIÓ DE DADES

Conté la definició de fitxers, arxius, variables i constants.

  • PROCEDIMENTS DE DIVISIÓ

Aquesta divisió defineix el procediment de tractament que s’ha d’aplicar a les dades.

Principis de programació

En general, les instruccions lingüístiques COBOL s’entenen com a frases escrites en anglès que acaben amb un punt final. En determinades situacions, recopilen diverses instruccions en una sola "frase" que acaba amb un punt, però sovint utilitzen comes i punts i punts per acabar les instruccions individuals.

Les instruccions del llenguatge es componen bàsicament de paraules clau, constants literals i operadors matemàtics . Les paraules clau s’escriuen amb majúscules (de l’alfabet anglès) i el guionet normal (-); des de COBOL2, les majúscules i minúscules es poden utilitzar amb indiferència. En general, els símbols que es poden utilitzar en l'idioma són bastant limitats, amb l'excepció dels continguts de les constants alfanumèrics literals, la qual cosa teòricament podria contenir qualsevol símbol (excepte el que s'utilitza com un delimitador) d'acord amb les capacitats de la particular, compilador .

Els símbols disponibles en l'idioma.
Símbols Descripció
"0" .. "9" dígits numèrics
"A" .. "Z" majúscules de l’alfabet llatí
" espai
"+" signe més
'-' signe menys o guionet
'*' asterisc
'/' barra obliqua
'$' signe de dòlar o moneda
',' coma
';' punt i coma
'.' punt fix
'(' parèntesi d' obertura
')' parèntesi de tancament
"<" menor
'>' més gran
"<=" inferior o igual
'> =' més gran o igual

Les paraules clau més importants de l'idioma són els imperatius "verbs", que descriuen una ordre que voleu que s'executi. Un interessant grup de paraules clau està representat per "constants figuratives", que serveixen per indicar verbalment constants d'ús comú. Per exemple, la paraula clau ZERO representa un o més zeros, en funció del context.

Les cadenes estan delimitades per cometes ( cometes simples) i normalment no es proporcionen formes de protecció per incorporar les cometes dins de les cadenes: per aquest motiu es poden dividir les cadenes, concatenant-les amb la constant figurativa QUOTE; normalment, però, la repetició de les cometes és interpretada pel compilador com a cometes dins de la cadena (per exemple: per escriure, respectivament, l'ús , l' utilitzo " , escrivim: " l '"ús", "I fes-lo servir '' ' ).

El maneig numèric de COBOL és especial en comparació amb els llenguatges de programació habituals, ja que les variables es declaren amb la mida exacta dels dígits, establint també la quantitat de decimals i la forma en què s’ha de tractar la informació. A la pràctica, heu de determinar la forma en què s'ha de representar el valor, deixant al compilador realitzar totes les conversions necessàries cada vegada. En aquest sentit, un programa COBOL té un maneig molt elevat dels valors numèrics, per tant més lent que altres idiomes, on els valors numèrics es gestionen en funció de les característiques físiques de la CPU i s’han de declarar explícitament les conversions de tipus.

Les variables utilitzades en el llenguatge sempre són globals i, per tant, s'han de declarar en una posició específica. Aquestes variables, excepte en situacions excepcionals, sempre formen part d’un registre , destinat a ser una col·lecció de camps d’informació. Aquesta gestió particular obliga a establir exactament les dimensions que tota informació ha de tenir si s’enregistra a la memòria massiva (discos, cintes o altres) o si s’imprimeix. En cert sentit, aquesta característica pot evitar o dificultar l’ús d’una forma de codificació de caràcters que inclogui una mida de caràcter variable, ja que els registres es poden remapar, fins i tot tractant els valors numèrics com a conjunts de dígits literals.

Aquest detall, que no és gens insignificant, suggereix utilitzar el llenguatge per gestionar dades que es poden representar amb el codi ASCII tradicional, és a dir, amb els primers 127 punts de codificació (des de U + 0000 fins a U + 007F). Per descomptat, hi ha compiladors disponibles per solucionar aquest problema, però en aquest cas cal comprovar com es gestionen les dades realment.

Les instruccions COBOL s’escriuen a la pantalla a l’espai situat entre la vuitena i la setanta-segona columna. Per tant, el vídeo es divideix en tres àrees, respectant els espais establerts a la dècada de 1940 on les columnes d'una a sis representen números de línia, mentre que la setena columna accepta caràcters especials. Normalment s’ignora l’àrea posterior a la 72a columna. Les instruccions també es poden escriure amb més línies, tenint la previsió de continuar començant des de l'àrea "B"; en general, no cal indicar explícitament que l’enunciat continua a la línia següent, perquè el punt final s’utilitza per reconèixer la seva conclusió. Tanmateix, en situacions excepcionals, es pot trencar una paraula clau o fins i tot una cadena literal; en aquest cas, el signe - s'ha d'inserir a la setena columna de la fila que continua, a més, si es tracta d'una cadena, la seva represa s'ha de començar de nou amb cometes. Tanmateix, tenint en compte que és difícil escriure paraules clau molt llargues i que es poden concatenar cadenes literals, és convenient evitar la continuació de la següent fila amb l'indicador de la setena columna.

Els comentaris a la font s’indiquen inserint un asterisc a la setena columna; si en canvi poseu una barra inclinada (/) voleu sol·licitar un salt de pàgina, durant la fase d' impressió , sempre que el compilador ho prevegi.

Mostra de codi: Hola, món!

Icona de la lupa mgx2.svg El mateix tema en detall: Hola món .
 000001 DIVISIÓ D'IDENTIFICACIÓ.
000002 ID-PROGRAMA. HOLA MÓN.
000003 DIVISIÓ AMBIENTAL.
000004 SECCIÓ DE CONFIGURACIÓ.
000005 DIVISIÓ DE DADES.
000006 DIVISIÓ DE PROCEDIMENTS.
000007
000008 VISUALITZACIÓ "HOLA, MÓN."
000009 STOP RUN.

Secció de pantalla

La secció Pantalla és la part del llenguatge Cobol dedicada a la gestió de màscares de vídeo. Tot i que no forma part de l'estàndard ANSI, és compatible amb la majoria de compiladors de llenguatge Cobol. Us permet col·locar pantalles a la pantalla, incloses dades constants, com ara títols i descripcions, i dades variables, com ara els camps elementals definits a la Secció d’emmagatzematge de treball i els camps de registre definits a la Secció de fitxers. En aquesta secció podeu assignar atributs per a cada element mostrat (colors, efectes intermitents, inversos, ressaltats, etc.) i també assignar controls per als valors acceptats: tipus numèric amb o sense signe, també establir l'alineació, les dates de format, etc. Al final de l'entrada és possible provar la pressió de les tecles de funció i de fletxa i en algunes versions també la posició del ratolí. [4]

Exemple:

Screen-section.jpg

Font

 DIVISIÓ D'IDENTIFICACIÓ.
       ID-PROGRAMA. EXEMPLE.
       AUTOR. GIORGIO BRANDOLIN.
       DIVISIÓ AMBIENTAL.
       SECCIÓ DE CONFIGURACIÓ.
       NOMS ESPECIALS.
       SECCIÓ D'ENTRADA-SORTIDA.
       CONTROL DE FITXES.
       DIVISIÓ DE DADES.
       SECCIÓ DE FITXA.
       SECCIÓ DE TREBALL-EMMAGATZEMATGE.
       01 REC-PERSONAL.
           03 ANA-COGNOM PIC X (25).
           03 ANA-NAME PIC X (25).
           03 ADREÇA ANA-PIC X (30).
           03 ANA-CITY PIC X (20).	
       SECCIÓ DE PANTALLA.
       01 PANTALLA INICIAL.
           03 FONS DE PANTALLA EN BLANC-COLOR 1 PRIMER-COLOR 6.
       01 REGISTRE INPUT-CAR.
           03 LÍNIA 6 COLUMNA 20 DESTACA "Cognom:".
           03 PIC X (25) AMB ANA-SURNAME REVERSE-VIDEO.
           03 LÍNIA COLUMNA 20 DESTACA "Nom:".
           03 PIC X (25) AMB ANA-NAME REVERSE-VIDEO.
           03 LÍNIA COLUMNA 20 DESTACA "Adreça:".
           03 PIC X (30) AMB ADREÇA ANA-REVERSE-VIDEO.
           03 LINE COLUMN 20 DESTACA "Ciutat:".
           03 PIC X (20) AMB ANA-CITY REVERSE-VIDEO.		
       DIVISIÓ DE PROCEDIMENTS.
       PROGRAMA DE SECCIÓ.
       COMENÇAR.
           PANTALLA INICIAL.
           ENTRADA-VISUALITZACIÓ PERSONAL.
           ACCEPTEU ENTRADA PERSONAL.
       FINAL.
           PARA CURIR.

Premeu

Un problema que cada vegada és més molest és el de les impressions. Les instruccions estàndard ANSI '74 preveuen la impressió d'impressions amb formularis de paper continu, que es poden utilitzar amb impressores de matriu de punts connectades al port paral·lel LPT1. Els caràcters només poden ser ASCII o EBCDIC , amb espaiat i mida fixos. Des de fa un temps, les tecnologies d’impressió han canviat dràsticament i les impressores de matriu de punts han desaparegut pràcticament. L’ús de formularis continus té sentit ara només si necessiteu més còpies, potser per a formularis estampats o preimpresos en paper químic. En la resta de casos, una impressora làser resol perfectament qualsevol necessitat d’impressió. Precisament per aquest motiu va sorgir la necessitat d'una adaptació de programari que permetés utilitzar qualsevol impressora disponible i modificar fàcilment els informes, cosa que us permetrà modificar les fonts COBOL el mínim possible.

Nota

  1. ^ COBOL: History, Applications and Future , a Webnews , 12 de novembre de 2014. Consultat el 9 de maig de 2018 .
  2. ^ a b COBOL: a Itàlia tothom busca programadors , a Tom's Hardware , 6 de novembre de 2013. Obtingut el 6 de novembre de 2013 (arxivat de l' original el 9 de novembre de 2013) .
  3. ^ (EN) The gift of Grace: l'odissea de COBOL de Vietnam a la plaça , a theregister.co.uk, 8 d'abril de 2014. Consultat el 12 de febrer de 2019 ( presentat el 13 d'abril de 2014).
  4. ^ Introducció al llenguatge COBOL - Micro Focus Support , a supportline.microfocus.com . Consultat el 9 de gener de 2015 .

Articles relacionats

Altres projectes

Enllaços externs

Manuals de referència:

Compiladors i altres productes:

Control de l'autoritat LCCN (EN) sh85027548 · GND (DE) 4010323-7 · BNF (FR) cb11941315s (data)
Informàtica Portal de TI : accediu a les entrades de Viquipèdia relacionades amb TI