Programiranje COBOL-a: Ne trebaju kartice za bušenje

Objava: Vaša podrška pomaže održavanju web mjesta! Naplaćujemo naknadu za preporuku za neke usluge koje preporučamo na ovoj stranici.


COBOL ili COmmon Business Oriented Language je naslijeđeni računalni programski jezik dizajniran za poslovno računanje. Debitovala je krajem pedesetih godina prošlog vijeka i bila je intenzivno korištena u brojnim industrijama sljedećih nekoliko desetljeća.

Velika količina softvera prvotno ugrađenog u COBOL između 1960-ih i 1990-ih i dalje radi, često napajajući sustave kritične za rad s kojima svakodnevno komuniciraju prosječni ljudi, kao što su bankarski sustavi, obrada plaćanja, osiguravajuća osiguranja i kontrola prometa..

COBOL je jedan od najstarijih programskih jezika koji se i dalje koristi, drugi možda samo FORTRAN-u, koji je nekoliko godina stariji. (Čini se da u svijetu još uvijek djeluje više COBOL-a nego što postoji FORTRAN.)

Povijest COBOL-a

Pedesetih godina dvadesetog stoljeća računala su postala važna u poslovnom sektoru. No kako su troškovi tih novih strojeva počeli opadati, troškovi njihovog zapravo programiranja rasli su.

Štoviše, sa svakom novom generacijom hardvera, softverski programi često su morali biti gotovo u potpunosti prepravljeni za rad na ažuriranim strojevima – trošak prevođenja programa za rad na novim sustavima iznosio je oko 3/4 troška razvoja softvera u prvom mjesto.

Zabrinuti zbog tih troškova, grupa poslovnih vođa, zajedno s akademicima i proizvođačima računala, sastala se 1959. godine kako bi razgovarala o rješenjima ovog problema. Zatražili su od Ministarstva obrane (koje financira mnogo istraživanja i razvoja povezanih s računalom) da sponzorira razvoj novog programskog jezika.

Ovaj bi novi jezik mogao biti prenosiv sa stroja na stroj i odgovarao bi zadacima obrade podataka potrebnim u velikim tvrtkama. (Fortran je u to vrijeme bio ograničen u svojoj prenosivosti i bio je neprikladan za vrste zadataka koje su najviše potrebne poduzećima i industriji.)

Budući da će ovaj novi jezik biti “uobičajeni” (to jest zajednički mnogim hardverskim arhitekturama) i “poslovno orijentisan”, na kraju je nazvan COBOL.

Odgovor Ministarstva obrane na ovaj zahtjev bio je oduševljen; imali su iste probleme kao i ovi poslovni lideri.

DoD je imao preko 200 računala, a isporučio je gotovo još 200 narudžbi. Brzo su se povećavali i troškovi njihovog razvoja softvera, a na programiranje su potrošili više od 200 milijuna dolara.

Direktor DoD-ovog službe za istraživanje sustava podataka, Charles A Phillips, sazvao je sastanak sa skupinom na kojem su predstavljena ključna obilježja novog jezika. COBOL je trebao:

  • raditi isto na mnogim različitim računalima

  • potaknuti veći broj ljudi da postanu programeri, koristeći puno običnih engleskih ključnih riječi i jednostavne sintakse

  • biti sposoban za promjene

  • ne ograničavajte se trenutnom hardverskom tehnologijom

  • biti jednostavan za upotrebu.

Rezultat ovog sastanka bio je prilično brz razvoj i puštanje prve verzije jezika pod nazivom COBOL-60 (objavljena je 1960.). Na njega je snažno utjecao FLOW-MATIC – njegova izumiteljica, Grace Hopper, bila je tehnička savjetnica – a također je uključila nekoliko ideja IBM-ovog COMTRAN-a.

Rani razvoj COBOL-a suočio se s brojnim problemima koji su prijetili da će uništiti cijeli proces – sukobljeni interesi proizvođača, akademika, poslovnih vođa i vojske; pristup dizajna po odboru; trgovačka i osobna rivalstva; smiješno kratki rokovi.

No ipak, unatoč tim problemima, napori za stvaranjem COBOL-a postigli su nešto nevjerojatno. Početni sastanak o kojem je raspravljao održan je u travnju 1959., a početna specifikacija odobrena je u siječnju 1960.

Proizvođači računala odmah su počeli pisati prevoditelje za jezik. Prije kraja 1960. godine, prvi radni program COBOL napisao je, sastavio i pokrenuo na dva različita računalna sustava.

COBOL je brzo stekao privlačnost i gotovo je preko noći postao dominantan jezik za poslovno računanje. Do 1970. godine bio je najkorišteniji programski jezik na svijetu.

COBOL je također predvidio pokrete otvorenog koda i slobodnog softvera koji zapravo neće započeti sljedeća dva desetljeća. S obzirom na način na koji se razvio COBOL, nijedna tvrtka ili grupa nije mogla preuzeti vlasništvo nad njim. Izvorni jezični priručnik sadržavao je sljedeću obavijest:

COBOL je industrijski jezik i nije vlasništvo nijedne tvrtke ili skupine tvrtki, niti bilo koje organizacije ili skupine organizacija.

Povijest izdavanja

COBOL izdanja su imenovana za godinu njihovog izlaska. (I na pravi COBOL način, ove su godine predstavljene s dvije znamenke do 2000-ih).

  • COBOL-61 se uglavnom posvetio ispravljanju grešaka i pojašnjenju, što je sintaksu učinilo nedvosmislenom.

  • COBOL-65 je nastavio s radom na čišćenju jezika, a također je dodao i značajke za rad s tablicama i datotekama za masovnu pohranu.

  • COBOL-68 bio je namijenjen standardizaciji jezika, nakon izvjesne razlike u verzijama sa 61, 61 Extended i 65. Stvoren je pod pokroviteljstvom Instituta za standardizaciju Sjedinjenih Američkih Država i bio je poznat kao ANSI-COBOL. Ova verzija postala je osnova za daljnji razvoj jezika.

  • Između 1968. i 1973., izvorni odbor za razvoj jezika (nazvan CODASYL) objavio je četiri nove verzije specifikacije jezika. One su dodale brojne nove značajke. Nažalost, gotovo niko ih nije koristio. Fokus većine jezične zajednice programera bio je na ANSI standardu.

  • COBOL-74, revizija standarda ANSI, sadržavao je niz novih značajki, uključujući organizacije datoteka, DELETE i modul za segmentaciju memorije. Ovo je bila velika promjena koja nije bila kompatibilna unatrag; programi napisani u starijim verzijama nisu se mogli sastaviti na COBOL-74 prevodiocima.

  • Predložena revizija iz 1980. godine (koja se neslužbeno naziva COBOL-80 konvencijom) uvela je još promjena jezika, što je uzrokovalo uznemirenost zbog kompatibilnosti unatrag i troškova pretvorbe starih sustava u novi jezik. Odziv javnosti tijekom razdoblja pregleda bio je poprilično negativan.

  • COBOL-85 bio je krajnji rezultat odgovora na puštanje COBOL-80. ANSI se bavio većinom problema koje je postavila zajednica programera, a izdanje iz 1985. godine stvorilo je relativno nizak trošak konverzije, dodajući niz korisnih značajki koje povećavaju produktivnost programera.

  • COBOL-2002 je kulminacija rada koji je započeo početkom devedesetih na dodavanju objektne orijentacije jeziku. Također je dodao dodatne vrste podataka (bitovi, boolei, plutajuće točke i binarne datoteke), podršku za UNICODE, pokazivače i nekoliko drugih značajki. Iako je ovo bio veliki korak naprijed za COBOL, industrija ga nije dobro podržala. Nisu napisani prevoditelji koji su podržavali cijelu specifikaciju jezika.

  • COBOL-2014 je dodao pregršt dodatnih funkcija. Nažalost, opet, nijedan prevodilac ne podržava puni standard. Uz to, u COBOL-u se radi vrlo malo novog razvoja; do 2014. velika većina COBOL-ovog posla obavljena je na naslijeđenim sustavima.

Iako je sigurno mnogo postojećeg koda napisano u COBOL-2002, a čak i malo u COBOL-2014, većina još uvijek postojećih naslijeđenih COBOL-a u skladu je sa specifikacijom iz 1985. godine..

O jeziku

COBOL je imperativ i postupak. Specifikacija iz 2002. dodala je Orijentaciju objekata, ali ove dodatne značajke relativno su neiskorištene.

Jezik ima sintaksu sličnu engleskom, čiji je cilj bio olakšati čitanje i pisanje. Izuzetno je verbozalan u usporedbi s većinom drugih jezika: postoji preko 300 rezerviranih riječi, a većina programskih zadataka zahtijeva više linija koda u COBOL-u nego u ostalim jezicima.

Program COBOL odvojen je u četiri odjeljenja:

  • Odjel za identifikaciju, identificira (naziva) program, klasu ili sučelje

  • Odjel za okoliš, definira konfiguracijske vrijednosti

  • Data Division, koji ima šest odjeljaka, definira model podataka programa koristeći hijerarhijske strukture podataka

  • Sektor za procedure, srce programa koji sadrži postupke koji obrađuju podatke.

COBOL ključne riječi pišu se u SVIMA CAPS, a jedan redak koda slijedi određeni format.

Linije su široke 80 stupaca (zastoj s dana s punch karticama), a dijelovi crte rezervirani su za posebnu upotrebu.

Na primjer, prvih 6 stupaca se uopće ne upotrebljava ili se jednostavno koriste za ručno upisivanje brojeva linija (prevoditelj ih jednostavno zanemaruje – još jedno zadržavanje kartice). Nakon toga:

  • Stupac 7 označava komentare (* ili /), nastavak iz prethodnog retka (-) ili kôd za uklanjanje pogrešaka (d).

  • Stupci 8-11, nazvani Područje A, sadrže zaglavlja za odjele, odjeljke i postupke ili brojeve razina za definicije podataka.

  • Stupci 12-72, zvani Područje B, su kodni prostor slobodnog oblika

  • Stupci 73-80 povijesno su prazni (za dodatne informacije o bušenim karticama).

Evo primjera HELLO WORLD:

IDENTIFIKACIJSKI ODJEL.
SADRŽAJ ID. Primjer-bok.
ODJELJAK POSTUPKA.
PRIKAZ "HELLO 1977!"
STOP RUN.

(Ovi strogi formati razmaka nisu potrebni u COBOL-2002, ali i dalje se uglavnom primjećuju.)

COBOL Resursi

COBOL postoji već dugo vremena, tako da postoji puno resursa za učenje. Ako radite na naslijeđenom COBOL projektu, provjerite da li znate o kojoj se verziji radi i da li se vaši referentni materijali podudaraju s njim.

Na liniji

Tutoriali

  • COBOL Vodič iz Tutorials Pointa

  • COBOL Vodič na Mainframes 360

  • COBOL programiranje – udžbenici, predavanja, vježbe, primjeri sa Odjela za računalne znanosti i informacijske sustave na Sveučilištu u Limericku

  • Vodič za programiranje COBOL-a

  • ZingCOBOL: Vodič za programiranje za početnike u COBOL-u

  • Dakle, želite naučiti COBOL? – ne toliko udžbenik kao članak „kako i zašto naučiti COBOL“ iz Milenijskog mainframera

  • Čitanje izgleda COBOL-a

  • COBOL Vodič iz akademskog vodiča

  • Video:

    • Napišite prvi COBOL program, kompiliranje i izvršavanje, brzi video uvod

    • Osnove mainframea s Cobolom, 15-dijelnom video serijom o računalima COBOL i Mainframe.

upućivanje

  • ISO / IEC 1989: 2014, trenutni standard COBOL (plaćeno preuzimanje)

  • COBOL brzi vodič.

alat

  • GNU COBOL Compiler, prevodi COBOL u C, a zatim ga kompilira, dizajniran za rad s GNU Compiler Collection

  • zCOBOL, još jedan prevoditelj COBOL

  • Hercules System / 370, ESA / 390, i z / Arhitektonski emulator, emulator glavnog okvira

  • COBOL Tools s otvorenim kodom, kolekcionarstvo alata COBOL s licencom GNU.

Zajednica i kontinuirano učenje

  • COBOL Forum na MainframeGuruKul

  • COBOL programski forum na IBMMainframes.com

  • COBOL Subreddit.

knjige

  • Počinje COBOL za programere Michaela Coughlana

  • Murachov glavni okvir COBOL Mikea Muracha

  • Cobola otkrio Jon Wessler

  • Sams nauči sebe COBOL za 24 sata od Thanea Hubbella

  • COBOL za 21. stoljeće Nancy Stern

  • Napredni COBOL za strukturirano i objektno orijentirano programiranje Gary DeWard Brown

  • Murachov strukturirani COBOL, autor Mike Murach

  • COBOL Za lutke Arthura Griffitha, i nemojte propustiti COBOL za lutke brzi vodič Johna W Fronckowiaka

  • Moć Cobola Rui Bivar de Oliveira

  • Cobol programiranje od MK Roy-a.

Trebam li naučiti COBOL?

COBOL nije cool, a ljudi ga već desetljećima nazivaju umirućim jezikom. Čak je i nadgrobna ploča za COBOL postojala prije nego što je jezik uopće završen. No za sve najave o nebitnosti COBOL-a, istina je da COBOL još nije mrtav.

COBOL su prvenstveno koristila velika poduzeća – tvrtke koje su trebale i mogla si priuštiti mainframe računala u 1960-ima, 70-ima i 80-ima. Sustavi iz tog doba koji nisu zamijenjeni previše su komplicirani da bi se lako mogli ponovo izgraditi i previše su kritični za rizik probijanja.

Softverski sustavi u raznim branšama kao što su kontrola prometa, nadzor zdravstvene zaštite, osiguravajuća osiguranja, financijska revizija i vođenje evidencije vlade i dalje vode COBOL i vjerojatno će to nastaviti neko vrijeme.

I većina programera koji su izgradili i održavali ove sustave približava se (ili već prošloj) dobi umirovljenja.

U isto vrijeme kada stariji COBOL programeri stariju iz sustava, mlađe programere ne zanima mnogo starija tehnologija. IT menadžeri u naslijeđenim industrijama zabrinuti su zbog nadolazećeg manjka COBOL-a.

Ovo predstavlja ogromnu priliku za programere u ranoj karijeri koji su zainteresirani za stabilno, visoko plaćeno zaposlenje.

Ostale stvari za naučiti

Uz izvanredno rijetke iznimke, COBOL se ne koristi za izgradnju novih aplikacija ili sustava. Umjesto toga, COBOL je korišten za izgradnju mnogih velikih poslovnih sustava koji još uvijek postoje.

COBOL programer će najvjerojatnije provesti svoje vrijeme održavajući naslijeđene sustave, pretvarajući COBOL aplikacije u modernu tehnologiju ili gradeći mostove između COBOL aplikacije i drugih sustava.

Većina ovog posla obično će se nalaziti na velikim mainframe računalima; s dobro uspostavljenim tvrtkama; u zrelim industrijama poput financija, zdravstva, vlade i prometa.

S obzirom da se radi o ekosustavu u kojem se odvija najsuvremeniji COBOL razvoj, postoji niz dodatnih tehnologija koje programeru trebaju da bi COBOL-ove vještine bile relevantne i vrijedne.

Evo kratkog popisa vještina koje se dobro kombiniraju s COBOL-om i veza do resursa za učenje:

  • Računalo u glavnom okviru

    • Što je na zemlji glavni okvir? David Stephens

    • Sustav kontrole podataka o klijentima (CICS®)

    • Murachov CICS za COBOL programera Menendez i Lowe

    • Dizajn i programiranje CICS aplikacija Horswill i sur

    • Job Control Language (JCL), jezik za automatizaciju koji se široko koristi u COBOL okruženjima

    • Murachova OS / 390 i z / OS JCL Menendez i Lowe

    • Sustav 390 Job Control Language, Gary DeWard Brown

    • DB2 za COBOL programera, 1. dio tvrtke Garvin i Eckols i DB2 za COBOL programera, 2. dio Garvina i Princea.

  • Novije tehnologije na razini poduzeća, poput:

    • .NET i C #

    • Java

    • ABAP

  • Ostali naslijeđeni jezici, poput:

    • Fortran

    • Erlang

    • Dalje

  • Programski jezici sustava, kao što su C, C ++ i D.

  • Tehnologije prijenosa podataka, posebno XML i SOAP

  • Jezici skriptiranja uslužnih programa kao što su Perl i Python

Daljnje čitanje i izvori

Imamo više programskih vodiča, tutorijala i infografika vezanih za kodiranje i resurse za razvojne programere:

  • Uvodni jezik uvoda: da li ga izravno upotrebljavate i učite ga samo da biste razumjeli što se zapravo događa na hardverskoj razini, jezik montaže je velika stvar koju treba znati.

  • Resursi za programiranje Bash-a: ako kodirate COBOL, vjerojatno ćete koristiti okruženje naredbenog retka. Evo vam šansa da naučite jednu od najboljih.

  • Programski resursi NXT-G: ok, ovo nema nikakve veze sa COBOL-om. Ali nakon dugog dana kodiranja, ne biste li uživali u stvaranju LEGO robota?!

Koji kôd treba naučiti?

Zbunjeni u koji programski jezik treba naučiti kodirati? Pogledajte našu infografiku. Koji kôd treba naučiti?

Ne samo da raspravlja o različitim aspektima jezika, već odgovara i na važna pitanja poput: “Koliko ću novca zaraditi programiranje Java za život?”

Koji kôd treba naučiti?
Koji kôd treba naučiti?

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