COBOL-programmering: Ingen punchkort er nødvendige

Afsløring: Din support hjælper med at holde webstedet kørt! Vi tjener et henvisningsgebyr for nogle af de tjenester, vi anbefaler på denne side.


COBOL, eller COmmon Business Oriented Language, er et ældre programmeringssprog til computere designet til forretnings computing. Det debuterede i slutningen af ​​1950’erne og var i stor brug i en række industrier i de næste flere årtier.

En stor mængde software, der oprindeligt blev bygget i COBOL mellem 1960’erne og 1990’erne, kører stadig, og tænder ofte for missionskritiske systemer, som gennemsnitlige mennesker interagerer med hver dag, såsom banksystemer, betalingsbehandling, forsikringsforsikring og trafikstyring.

COBOL er et af de ældste programmeringssprog, der stadig er i almindelig brug, måske kun til FORTRAN, som er et par år ældre. (Der ser ud til at være meget mere COBOL, der stadig kører i verden end der er FORTRAN, dog.)

COBOLs historie

I 1950’erne begyndte computere deres fremgang i erhvervslivet. Men da prisen på disse nye maskiner begyndte at krybe nedad, steg prisen for faktisk at programmere dem.

Desuden måtte softwareprogrammer med hver ny generation af hardware næsten fuldstændigt omskrives for at arbejde på de opdaterede maskiner – omkostningerne ved at oversætte programmer til at arbejde på nye systemer var ca. 3/4 af omkostningerne til at udvikle softwaren i den første placere.

Bekymret for disse omkostninger mødtes en gruppe erhvervsledere sammen med akademikere og computerproducenter i 1959 for at diskutere løsninger på dette problem. De bad Department of Defense (som finansierede en hel del computerrelateret forskning og udvikling) om at sponsorere udviklingen af ​​et nyt programmeringssprog.

Dette nye sprog ville være bærbart fra maskine til maskine og være velegnet til de databehandlingsopgaver, der er nødvendige i store virksomheder. (Fortran var begrænset i sin portabilitet på det tidspunkt og var desuden uegnet til de typer opgaver, der er mest nødvendige for erhvervslivet og industrien.)

Da dette nye sprog skulle være ”fælles” (det vil sige fælles for mange hardwarearkitekturer) og ”forretningsorienteret”, endte det med at blive navngivet COBOL.

Svaret på denne anmodning fra Forsvarsministeriet var begejstret; de havde de samme slags problemer, som disse forretningsledere havde.

DoD betjente over 200 computere og havde næsten yderligere 200 bestilt til levering. Deres softwareudviklingsomkostninger steg hurtigt også, og de havde brugt over $ 200 millioner på programmering.

Direktøren for DoD’s Data System Research Staff, Charles A Phillips, indkaldte til et møde med gruppen, hvor nøglefunktionerne i det nye sprog blev beskrevet. COBOL skulle:

  • arbejde det samme på mange forskellige computere

  • opfordre flere til at blive programmører ved at bruge en masse almindelige engelske nøgleord og ligetil syntaks

  • være i stand til forandring

  • ikke være begrænset af nuværende hardwareteknologi

  • være let at bruge.

Resultatet af dette møde var den forholdsvis hurtige udvikling og frigivelse af den første version af sproget, kaldet COBOL-60 (det blev frigivet i 1960). Det var stærkt påvirket af FLOW-MATIC – dens opfinder, Grace Hopper, var en teknisk konsulent – og indarbejdede også et par ideer fra IBMs COMTRAN.

Den tidlige udvikling af COBOL stod overfor en række problemer, der truede med at afspore hele processen – de modstridende interesser fra producenter, akademikere, erhvervsledere og militæret; design-for-komité-tilgangen kommercielle og personlige rivaliteter; latterligt korte tidsfrister.

Og alligevel til trods for disse problemer opnåede bestræbelserne på at skabe COBOL noget forbløffende. Det første møde for at diskutere det blev afholdt i april 1959, og den oprindelige specifikation blev godkendt i januar 1960.

Computerproducenter begyndte straks at skrive compilere til sproget. Før udgangen af ​​1960 blev det første fungerende COBOL-program skrevet, samlet og kørt på to forskellige computersystemer.

COBOL opnåede trækkraft meget hurtigt og blev det dominerende sprog for forretnings computing næsten over natten. I 1970 var det det mest anvendte programmeringssprog i verden.

COBOL forventede også bevægelserne i Open Source og Free Software, der ikke virkelig ville begynde i yderligere to årtier. I betragtning af den måde COBOL udviklede, kunne ingen virksomheder eller koncerner tage ejerskab af det. Den originale sprogmanual indeholdt følgende meddelelse:

COBOL er et sprog inden for branchen og er ikke ejendom for nogen virksomhed eller en gruppe af virksomheder eller en organisation eller en gruppe af organisationer.

Udgivelseshistorik

COBOL-udgivelser er navngivet til året for deres udgivelse. (Og på ægte COBOL-måde er disse år repræsenteret med to cifre indtil 2000’erne).

  • COBOL-61 var for det meste dedikeret til fejlrettelser og afklaringer, hvilket gjorde syntaksen entydig.

  • COBOL-65 fortsatte med at rydde op i sproget og tilføjede også funktioner til arbejde med tabeller og masselagringsfiler.

  • COBOL-68 var beregnet til at standardisere sproget, efter en vis mængde versionversion med 61, 61 Udvidet og 65. Det blev oprettet under regi af United States of America Standards Institute og blev kendt som ANSI-COBOL. Denne version blev grundlaget for videreudvikling af sproget.

  • Mellem 1968 og 1973 frigav det originale sprogudviklingsudvalg (kaldet CODASYL) fire nye sprogspecifikationsversioner. Disse tilføjede en række nye funktioner. Desværre var næsten ingen, der brugte COBOL, opmærksom på dem. Fokus for de fleste af sprogets udviklergruppe var på ANSI-standarden.

  • COBOL-74, en revision af ANSI-standarden, indeholdt et antal nye funktioner, herunder filorganisationer, DELETE og et hukommelsessegmenteringsmodul. Dette var en større ændring, der ikke var bagudkompatibel; programmer skrevet i tidligere versioner kunne ikke kompileres på COBOL-74 kompilatorer.

  • En foreslået revision fra 1980 (uofficielt kaldet COBOL-80 ved konvention) introducerede endnu flere ændringer i sproget, hvilket medførte et oprør over bagudkompatibilitet og omkostningerne ved at konvertere gamle systemer til det nye sprog. Den offentlige reaktion i undersøgelsesperioden var overvældende negativ.

  • COBOL-85 var slutresultatet af svaret på COBOL-80 frigivelse. ANSI adresserede de fleste af de bekymringer, som udviklerfællesskabet rejste, og frigivelsen i 1985 udgjorde en relativt lav konverteringsomkostning, mens den tilføjede et antal nyttige funktioner, der øgede programmørens produktivitet.

  • COBOL-2002 var kulminationen af ​​det arbejde, der begyndte i begyndelsen af ​​1990’erne for at tilføje objektorientering til sproget. Det tilføjede også yderligere datatyper (bits, booleaner, flydende punkter og binære filer), support til UNICODE, pointers og flere andre funktioner. Selvom dette var et stort skridt fremad for COBOL, blev det ikke godt støttet af branchen. Der blev ikke skrevet nogen samlere, der understøttede hele sprogspecifikationen.

  • COBOL-2014 tilføjede en håndfuld ekstra funktioner. Desværre understøtter ingen kompilatorer igen den fulde standard. Derudover er der meget lidt ny udvikling, der gøres i COBOL; i 2014 blev det overvældende flertal af COBOL-arbejdet udført på ældre systemer.

Selvom der bestemt er masser af eksisterende kode skrevet i COBOL-2002 og endda en smule i COBOL-2014, overholder hovedparten af ​​den stadig kørende ældre COBOL overensstemmelse med 1985-specifikationen.

Om sproget

COBOL er bydende og proceduremæssigt. 2002-specifikationen tilføjede objektorientering, men disse yderligere funktioner er relativt underbrugte.

Sproget har en engelsk-lignende syntaks, som var beregnet til at gøre det lettere at læse og skrive. Det er ekstremt ordligt sammenlignet med de fleste andre sprog: der er over 300 reserverede ord, og de fleste programmeringsopgaver kræver flere kodelinjer i COBOL end de ville have på andre sprog.

Et COBOL-program er opdelt i fire afdelinger:

  • Identifikationsafdeling, identificerer (navngiver) programmet, klassen eller interface

  • Miljøafdeling definerer konfigurationsværdier

  • Data Division, der har seks sektioner, definerer programmets datamodel ved hjælp af hierarkiske datastrukturer

  • Procedureafdeling, hjertet i programmet – indeholdende procedurer, der behandler data.

COBOL-nøgleord er skrevet i ALLE CAPS, og en enkelt kodelinie følger et bestemt format.

Linjer er 80 søjler brede (en holdover fra stempelkortdage) med dele af linjen reserveret til særlig brug.

F.eks. Bruges de første 6 kolonner ikke overhovedet eller bruges simpelthen til manuelt at indtaste linienumre (de ignoreres simpelthen af ​​kompilatoren – endnu et holdepunktkort). Efter det:

  • Kolonne 7 angiver kommentarer (* eller /), fortsættelse fra den forrige linje (-) eller debugger-kode (d).

  • Kolonner 8-11, kaldet Område A, indeholder overskrifter til Opdelinger, Sektioner og Procedurer eller niveaunumre til datadefinition.

  • Kolonne 12-72, kaldet Område B, er kodeflade med fri form

  • Kolonner 73-80 er historisk set tomme (for yderligere information om stempelkort).

Her er et eksempel HELLO WORLD:

IDENTIFIKATION AFDELING.
PROGRAM-ID. eksempel-hej.
PROCEDURE AFDELING.
SKÆRM "HELLO 1977!"
STOP KØR.

(Disse strenge afstandsformater er ikke påkrævet i COBOL-2002, men de overholdes stadig stort set.)

COBOL Ressourcer

COBOL har eksisteret i lang tid, så der er mange ressourcer til at lære det. Hvis du arbejder på et ældre COBOL-projekt, skal du sørge for at vide, hvilken version det er, og at dine referencematerialer matcher det.

Online

Vejledninger

  • COBOL Tutorial fra Tutorials Point

  • COBOL Tutorial ved Mainframes 360

  • COBOL-programmering – Tutorials, forelæsninger, øvelser, eksempler fra Institut for Computer Science and Information Systems ved University of Limerick

  • COBOL-programmeringsvejledning

  • ZingCOBOL: En begyndervejledning til programmering i COBOL

  • Så du vil lære COBOL? – ikke så meget en tutorial som en “hvordan og hvorfor lære COBOL” -artikel fra Millennial Mainframer

  • Læsning af COBOL-layout

  • COBOL-tutorial fra akademiske tutorials

  • Videoer:

    • Skriv første COBOL-program, kompilér og udfør, en hurtig videoindledning

    • Mainframe Basics med Cobol, en 15-dels videoserie om COBOL og Mainframe computing.

Reference

  • ISO / IEC 1989: 2014, den nuværende COBOL-standard (betalt download)

  • COBOL hurtig guide.

Værktøj

  • GNU COBOL Compiler, oversætter COBOL til C og kompilerer det derefter, designet til at arbejde med GNU Compiler Collection

  • zCOBOL, en anden COBOL-kompilator

  • Hercules System / 370, ESA / 390 og z / Architecture Emulator, en mainframe-emulator

  • Open Source COBOL-værktøjer, en samling af GNU-licenserede COBOL-værktøjer.

Fællesskab og løbende læring

  • COBOL Forum på MainframeGuruKul

  • COBOL-programmeringsforum på IBMMainframes.com

  • COBOL Subreddit.

Bøger

  • Begyndende COBOL for programmerere af Michael Coughlan

  • Murachs Mainframe COBOL af Mike Murach

  • Cobol løsrevet af Jon Wessler

  • Sams lærer dig selv COBOL om 24 timer af Thane Hubbell

  • COBOL for det 21. århundrede af Nancy Stern

  • Avanceret COBOL til struktureret og objektorienteret programmering af Gary DeWard Brown

  • Murachs strukturerede COBOL, af Mike Murach

  • COBOL For Dummies af Arthur Griffith, og gå ikke glip af COBOL for Dummies Quick Reference af John W Fronckowiak

  • The Power of Cobol af Rui Bivar de Oliveira

  • Cobol-programmering af MK Roy.

Skal jeg lære COBOL?

COBOL er ikke cool, og folk har kaldt det et døende sprog i over et årti. Der var endda en gravsten til COBOL, før sproget blev endda afsluttet. Men for alle proklamationer om COBOL’s irrelevans er sandheden, at COBOL endnu ikke er død.

COBOL blev primært brugt af store virksomheder – virksomheder, der havde brug for og havde råd til mainframe-computere i 1960’erne, 70’erne og 80’erne. Systemerne fra den æra, som ikke er blevet erstattet, er for komplicerede til let at genopbygge, og de er for missionskritiske til at risikere at bryde.

Softwaresystemer i så forskellige sektorer som trafikstyring, sundhedsovervågning, forsikringssikring, finansiel revision og regeringsopbevaring fortsætter med at køre COBOL, og vil sandsynligvis fortsætte med det i nogen tid.

Og de fleste af de programmører, der har bygget og vedligeholdt disse systemer, nærmer sig (eller godt forbi) pensionsalder.

På samme tid som ældre COBOL-programmører ældes ud af systemet, er yngre programmerere ikke meget interesseret i ældre teknologi. IT-ledere i ældre brancher er bekymrede over den kommende COBOL-mangel.

Dette giver en enorm mulighed for tidlige karriereudviklere, der er interesseret i stabil, højtlønnet beskæftigelse.

Andre ting at lære

Med forsvindende sjældne undtagelser bruges COBOL ikke til at bygge nye applikationer eller systemer. Tværtimod blev COBOL brugt til at bygge mange store forretningssystemer, der stadig findes.

En COBOL-programmer vil sandsynligvis bruge deres tid på at vedligeholde gamle systemer, konvertere COBOL-applikationer til moderne teknologi eller bygge broer mellem COBOL-applikationen og andre systemer.

Det meste af dette arbejde vil ofte være på store mainframe-computere; med veletablerede virksomheder; i modne brancher som finans, sundhedsvæsen, regering og transport.

I betragtning af at dette er det økosystem, hvor den mest moderne COBOL-udvikling finder sted, er der en række yderligere teknologier, som en programmør har brug for for at gøre COBOL-færdigheder relevante og værdifulde.

Her er en kort liste over færdigheder, der passer godt sammen med COBOL, og link til ressourcer til læring:

  • Mainframe Computing

    • Hvad i alverden er en mainframe? af David Stephens

    • Kundeinformationskontrolsystem (CICS®)

    • Murachs CICS til COBOL-programmøren af ​​Menendez og Lowe

    • Design og programmering af CICS-applikationer af Horswill et al

    • Job Control Language (JCL), et automatiseringssprog, der er stærkt anvendt i COBOL-miljøer

    • Murachs OS / 390 og z / OS JCL af Menendez og Lowe

    • System 390 Jobkontrolsprog af Gary DeWard Brown

    • DB2 til COBOL-programmøren, del 1 af Garvin og Eckols, og DB2 til COBOL-programmereren, del 2 af Garvin og Prince.

  • Nyere teknologier på virksomhedsniveau, såsom:

    • .NET og C #

    • Java

    • ABAP

  • Andre ældre sprog, såsom:

    • Fortran

    • Erlang

    • Forth

  • Systemprogrammeringssprog, såsom C, C ++, og D.

  • Datatransportteknologier, især XML og SOAP

  • Hjælp til scripting-sprog som Perl og Python

Yderligere læsning og ressourcer

Vi har flere programmeringsvejledninger, tutorials og infografik relateret til kodning og udviklerressourcer:

  • Samling af sprogindledning: uanset om du bruger det direkte og lærer det bare for at forstå, hvad der virkelig foregår på hardwareniveau, er samlingssprog en god ting at vide.

  • Ressourcer til programmering af bash: Hvis du koder COBOL, bruger du sandsynligvis et kommandolinjemiljø. Her er din chance for at lære en af ​​de bedste.

  • NXT-G-programmeringsressourcer: okay, dette har intet at gøre med COBOL. Men efter en lang dag med kodning, ville du ikke nyde at oprette LEGO-robotter?!

Hvilken kode skal du lære?

Forvirret over hvilket programmeringssprog du skal lære at kode i? Se vores infographic, hvilken kode du skal lære?

Det diskuterer ikke kun forskellige aspekter af sprogene, det besvarer vigtige spørgsmål som ”Hvor mange penge vil jeg tjene til at programmere Java til en levevej?”

Hvilken kode skal du lære?
Hvilken kode skal du lære?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map