COBOL

**COBOL** (маўленне «кóбал», акронім ад англ. **co**mmon **b**usiness-**o**riented **l**anguage) — кампіляваная мова праграмавання высокага ўзроўню, прызначаная для выкарыстання ў бізнесе. Гэта імператыўная, працэдурная і, пачынаючы з 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 ствараўся, і не ўдзельнічалі ў яе распрацоўцы; мова практычна распрацавана з нуля, як камп’ютарная мова для бізнесменаў, з акцэнтам на ўвод і вывад, у якіх даныя разглядаюцца толькі як лічбы і радкі тэксту. COBOL крытыкавалі на працягу ўсяго яго існавання за такія рысы, як шматслоўе, працэс праектавання і благую падтрымку структурнага праграмавання, якія прывялі да маналітных і незразумелых праграм.

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

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

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

```cobolfree
//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

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