COBOL (маўленне «кóбал», акронім ад англ. common business-oriented language) — кампіляваная мова праграмавання высокага ўзроўню, прызначаная для выкарыстання ў бізнесе. Гэта імператыўная, працэдурная і, пачынаючы з 2002 года, аб’ектна-арыентаваная мова. COBOL выкарыстоўваецца пераважна ў сферы бізнесу, у фінансавых і адміністрацыйных сістэмах кампаній і ўрадаў. Да гэтага часу шырока выкарыстоўваецца ў састарэлых дадатках, разгорнутых на вялікіх ЭВМ, для такіх задач, як буйнамаштабная пакетная і транзакцыйная апрацоўка даных. Але праз зніжэнне папулярнасці і выхаду на пенсію дасведчаных праграмістаў на COBOL, праграмы пераносяць на новыя платформы, перапісваюць на сучасныя мовы, або замяняюць праграмнымі пакетамі. Цяперашняе праграмаванне на COBOL у большасці зводзіцца да падтрымкі наяўных дадаткаў.

Мова COBOL была распрацавана ў 1959 годзе, у асацыяцыі КОДАСІЛ () пад уплывам Грэйс Хопер, якую часам памылкова называюць «маці COBOL», і была часткова заснавана на яе папярэдняй працы па праектаванні мовы праграмавання. Мова з’явілася ў рамках намаганняў Міністэрства абароны ЗША па стварэнні пераноснай мовы праграмавання для апрацоўкі даных. У якасці часовай меры, міністэрства абароны неадкладна прымусіла вытворцаў камп’ютараў стварыць гэту мову, што прывяло да яе шырокага распаўсюджання. Мова была стандартызавана ў 1968 годзе і з таго часу перагледжана чатыры разы. Пашырэнні ўключаюць падтрымку структурнага і аб’ектна-арыентаванага праграмавання. Цяперашні стандарт — ISO/IEC 1989:2014.

COBOL мае сінтаксіс, падобны да англійскай мовы, які быў распрацаваны, каб быць самадакументаваным і добра чытэльным. Тым не менш, мова шматслоўная і выкарыстоўвае больш за 300 зарэзерваваных слоў. У адрозненне ад зараз распаўсюджанага сціслага сінтаксісу y = x;, COBOL мае больш англападобны сінтаксіс (у дадзеным выпадку, MOVE x TO y). Код у COBOL падзелены на чатыры часткі (ідэнтыфікатары, асяроддзе, даныя і працэдуры), якія змяшчаюць цвёрдую іерархію раздзелаў, параграфаў і выказванняў. Не маючы вялікай стандартнай бібліятэкі, стандарт вызначае 43 выказванні, 87 функцый і толькі адзін клас.

Акадэмічныя навукоўцы ў галіне інфарматыкі былі большай часткай незацікаўлены ў бізнес-дадатках, калі COBOL ствараўся, і не ўдзельнічалі ў яе распрацоўцы; мова практычна распрацавана з нуля, як камп’ютарная мова для бізнесменаў, з акцэнтам на ўвод і вывад, у якіх даныя разглядаюцца толькі як лічбы і радкі тэксту.http://cs.brown.edu/~adf/programming_languages.html COBOL крытыкавалі на працягу ўсяго яго існавання за такія рысы, як шматслоўе, працэс праектавання і благую падтрымку структурнага праграмавання, якія прывялі да маналітных і незразумелых праграм.

Прыклад

Прыклад напісання праграмы Hello world у сучаснай імплементацыі COBOL:

IDENTIFICATION DIVISION. PROGRAM-ID. hello-world. PROCEDURE DIVISION. DISPLAY "Hello, world!" .

Вышэйпададзены прыклад актуальны менавіта для сучаснай імплементацыі COBOL. Насамрэч прыклад праграмы «Hello, World!» быў упершыню апублікаваны ў 1978 годзе ў кнізе «Мова праграмавання C» і на той момант тэарэтычна мог быць створаны для COBOL на перфакарце ў наступным выглядзе:

//COBUCLG JOB (001),'COBOL BASE TEST', 00010000 // CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1) 00020000 //BASETEST EXEC COBUCLG 00030000 //COB.SYSIN DD * 00040000 00000* VALIDATION OF BASE COBOL INSTALL 00050000 01000 IDENTIFICATION DIVISION. 00060000 01100 PROGRAM-ID. 'HELLO'. 00070000 02000 ENVIRONMENT DIVISION. 00080000 02100 CONFIGURATION SECTION. 00090000 02110 SOURCE-COMPUTER. GNULINUX. 00100000 02120 OBJECT-COMPUTER. HERCULES. 00110000 02200 SPECIAL-NAMES. 00120000 02210 CONSOLE IS CONSL. 00130000 03000 DATA DIVISION. 00140000 04000 PROCEDURE DIVISION. 00150000 04100 00-MAIN. 00160000 04110 DISPLAY 'HELLO, WORLD' UPON CONSL. 00170000 04900 STOP RUN. 00180000 //LKED.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR 00190000 // DD DSNAME=SYS1.LINKLIB,DISP=SHR 00200000 //GO.SYSPRINT DD SYSOUT=A 00210000 // 00220000

Літаратура Савіцкі М. Тлумачальны слоўнік па інфарматыцы. — Мн.: Энцыклапедыкс, 2009. — ISBN 978-985-6742-83-8

Катэгорыя:Мовы праграмавання высокага ўзроўню