COBOL

З Вікіпедыі, свабоднай энцыклапедыі
COBOL
Клас мовы працэдурная, імператыўная, аб’ектна-арыентаваная
З’явілася ў 1959
Аўтар(ы) Говард Бромберг, Норман Дыскаунт, Вернан Рыўз, Джын Самет, Уільям Сэлдэн, Гертруда Цірні, пры ўскосным удзеле Грэйс Хопер[1]
Пашырэнне файлаў .cbl, .cob, .cpy
Тыпізацыя даных слабая, статычная
Асноўныя рэалізацыі GnuCOBOL, IBM COBOL, Micro Focus Visual COBOL
Зведала ўплыў Першапачаткова: AIMACO, COMTRAN, FACT
COBOL 2002: C++, Eiffel, Smalltalk
Паўплывала на CobolScript, PL/I

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

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

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

Акадэмічныя навукоўцы ў галіне інфарматыкі былі большай часткай незацікаўлены ў бізнес-дадатках, калі COBOL ствараўся, і не ўдзельнічалі ў яе распрацоўцы; мова практычна распрацавана з нуля, як камп’ютарная мова для бізнесменаў, з акцэнтам на ўвод і вывад, у якіх даныя разглядаюцца толькі як лічбы і радкі тэксту.[9] 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

Зноскі

  1. а б Sammet, Jean E. (March 2000). "The real creators of Cobol". IEEE Software [англійская]. 17 (2): 30–32. doi:10.1109/52.841602. ISSN 1937-4194. The Short-Range Committee worked diligently from June 1959 on, but there were great difficulties in having a fairly large committee try to create a programming language. In November, the Short-Range Committee chair appointed six people to develop specifications for consideration: William Selden and Gertrude Tierney (IBM), Howard Bromberg and Norman Discount (RCA), and Vernon Reeves and Jean E. Sammet (Sylvania Electric Products). We worked for two full weeks (including some round-the-clock sessions) in November 1959 and sent the proposed specifications to the full Short-Range Committee, which accepted almost all of them. After some editing (by the same six people), we turned in the specifications as a final report in December to the Executive Committee, which accepted them in January 1960. After some further editing, the Government Printing Office issued Cobol 60. [...] [Grace Hopper] did not participate in its work except through the general guidance she gave to her staff who were direct committee members. Thus, while her indirect influence was very important, regrettably the frequent repeated statements that "Grace Hopper developed Cobol" or "Grace Hopper was a codeveloper of Cobol" or "Grace Hopper is the mother of Cobol" are just not correct.
  2. Mitchell, Robert L.. Brain drain: Where Cobol systems go from here. Computerworld (14 сакавіка 2012). Праверана 9 February 2015.
  3. Mitchell, Robert L.. Cobol: Not Dead Yet. Computerworld (4 кастрычніка 2006). Праверана 27 April 2014.
  4. Porter Adams, Vicki (5 October 1981). "Captain Grace M. Hopper: the Mother of COBOL". InfoWorld. 3 (20): 33. ISSN 0199-6649.
  5. Betts, Mitch (6 Jan 1992). "Grace Hopper, mother of Cobol, dies". Computerworld. 26 (1): 14. ISSN 0010-4841.
  6. Lohr, Steve (2008). Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Maverick Scientists, and Iconoclasts--The Programmers Who Created the Software Revolution. Basic Books. p. 52. ISBN 978-0786730766.
  7. Ensmenger, Nathan L. (2009). The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise. MIT Press. p. 100. ISBN 978-0262050937. LCCN 2009052638.
  8. ISO/IEC 1989:2014. ISO (26 мая 2014). Праверана 7 June 2014.
  9. http://cs.brown.edu/~adf/programming_languages.html

Літаратура[правіць | правіць зыходнік]