Програмиране на COBOL: Не са нужни никакви пробивни карти

Разкриване на информация Вашата поддръжка помага за поддържането на сайта! Печелим такса за препращане за някои от услугите, които препоръчваме на тази страница.


COBOL или COmmon Business ориентиран език е наследен компютърен програмен език, предназначен за бизнес изчисления. Той дебютира в края на 50-те години на миналия век и се използва много в редица индустрии през следващите няколко десетилетия.

Голямо количество софтуер, първоначално изграден в COBOL между 60-те и 90-те години на миналия век, все още работи, често захранва критични за мисията системи, с които средните хора взаимодействат всеки ден, като банкови системи, обработка на плащания, застрахователно застраховане и контрол на трафика.

COBOL е един от най-старите езици за програмиране, който все още се използва, втори може би само на FORTRAN, който е с няколко години по-стар. (Изглежда, че има много повече COBOL все още работи в света, отколкото има FORTRAN.)

История на COBOL

През 50-те години на ХХ век компютрите започнаха да се издигат на известност в бизнес сектора. Но тъй като цената на тези нови машини започна да намалява, цената на тяхното програмиране всъщност се увеличава.

Освен това, с всяко ново поколение хардуер, софтуерните програми често трябваше да бъдат почти напълно пренаписани, за да работят върху актуализираните машини – цената на превода на програми за работа на нови системи беше около 3/4 от цената на разработването на софтуера през първата място.

Загрижена за тези разходи, група бизнес лидери, заедно с учени и производители на компютри, се срещнаха през 1959 г., за да обсъдят решения на този проблем. Те поискаха от Министерството на отбраната (което финансираше голяма част от компютърните изследвания и разработки) да спонсорира разработването на нов език за програмиране.

Този нов език ще бъде преносим от машина на машина и ще бъде подходящ за задачите за обработка на данни, необходими в големите бизнеси. (Fortran беше ограничена в своята преносимост по това време и освен това беше неподходяща за видовете задачи, най-необходими на бизнеса и индустрията.)

Тъй като този нов език щеше да бъде „общ“ (тоест общ за много хардуерни архитектури) и „ориентиран към бизнеса“, в крайна сметка беше наречен COBOL.

Отговорът на това искане от Министерството на отбраната беше ентусиазиран; те имаха същите проблеми, каквито имаше тези бизнес лидери.

DoD оперира над 200 компютъра и имаше почти още 200 поръчани за доставка. Техните разходи за разработка на софтуер също бързо се увеличават и те са изразходвали над 200 милиона долара за програмиране.

Директорът на екипа за изследване на данните на DoD, Чарлз А Филипс, свика среща с групата, на която бяха представени основните характеристики на новия език. COBOL трябваше:

  • работят същото на много различни компютри

  • насърчавайте повече хора да станат програмисти, като използвате много обикновени английски ключови думи и директен синтаксис

  • да са способни на промяна

  • не се ограничавайте от настоящата хардуерна технология

  • да е лесен за използване.

Резултатът от тази среща беше сравнително бързото развитие и издаване на първата версия на езика, наречена COBOL-60 (тя беше издадена през 1960 г.). Той беше силно повлиян от FLOW-MATIC – неговият изобретател, Грейс Хопър, беше технически консултант – и също така включи няколко идеи от IBM COMTRAN на IBM.

Ранното развитие на COBOL се сблъска с множество проблеми, които заплашваха да провалят целия процес – конфликтните интереси на производители, академици, бизнес лидери и военни; подходът за проектиране от комисия; търговски и лични съперничества; смехотворно кратки срокове.

И въпреки това, въпреки тези проблеми, усилията за създаване на COBOL постигнаха нещо невероятно. Първоначалната среща за обсъждането му е проведена през април 1959 г., а първоначалната спецификация е одобрена през януари 1960 г..

Производителите на компютри веднага започнаха да пишат компилатори за езика. Преди края на 1960 г. първата работеща програма COBOL е написана, компилирана и работеща на две различни компютърни системи.

COBOL спечели много бързо и се превърна в доминиращ език за бизнес изчисленията, почти през нощта. До 1970 г. той беше най-използваният език за програмиране в света.

COBOL също така предвиди движенията с отворен код и свободен софтуер, които всъщност няма да започнат още две десетилетия. Предвид начина, по който се развива COBOL, никоя компания или група не може да поеме собствеността върху него. Оригиналното ръководство за езика съдържа следното известие:

COBOL е индустриален език и не е собственост на нито една компания или група от компании, нито на всяка организация или група от организации.

История на изданията

COBOL изданията са назовани за годината на тяхното издаване. (И по истински начин COBOL тези години са представени с две цифри до 2000-те години).

  • COBOL-61 беше посветен най-вече на корекции на грешки и пояснения, което прави синтаксиса недвусмислен.

  • COBOL-65 продължи с работата по почистване на езика, а също така добави функции за работа с таблици и файлове за масово съхранение.

  • COBOL-68 е предназначен да стандартизира езика, след известна разминаване на версиите с 61, 61 разширена и 65. Създаден е под егидата на Института за стандарти на Съединените американски щати и е известен като ANSI-COBOL. Тази версия стана основа за по-нататъшно развитие на езика.

  • Между 1968 и 1973 г. първоначалният комитет за развитие на езика (наречен CODASYL) пусна четири нови версии за спецификации на езика. Те добавиха редица нови функции. За съжаление, почти никой, който използва COBOL, не ги знаеше. Фокусът на по-голямата част от общността на разработчиците на езика беше върху стандарта ANSI.

  • COBOL-74, преглед на стандарта ANSI, съдържаше редица нови функции, включително файлови организации, DELETE и модул за сегментиране на паметта. Това беше основна промяна, която не беше съвместима назад; програми, написани в по-ранни версии, не могат да бъдат компилирани на компилаторите на COBOL-74.

  • Предложената ревизия от 1980 г. (неофициално наречена COBOL-80 по конвенция) внесе още повече промени в езика, което предизвика смут над обратната съвместимост и разходите за преобразуване на стари системи в новия език. Публичният отзвук през периода на разглеждане беше изключително отрицателен.

  • COBOL-85 беше крайният резултат от отговора на освобождаването на COBOL-80. ANSI адресира повечето проблеми, повдигнати от общността на разработчиците, а версията от 1985 г. представлява сравнително ниска цена на преобразуване, като същевременно добавя редица полезни функции, които увеличават производителността на програмистите.

  • COBOL-2002 беше кулминацията на работата в началото на 90-те години за добавяне на обектна ориентация към езика. Освен това добави допълнителни типове данни (битове, булеви знаци, плаващи точки и двоични файлове), поддръжка за UNICODE, указатели и няколко други функции. Въпреки че това беше огромна стъпка напред за COBOL, той не беше добре подкрепен от индустрията. Не са написани компилатори, които поддържат цялата спецификация на езика.

  • COBOL-2014 добави няколко допълнителни функции. За съжаление, отново, нито един компилатор не поддържа пълния стандарт. Освен това в COBOL се прави много малко ново развитие; до 2014 г. преобладаващото мнозинство от работата на COBOL се извършва върху наследени системи.

Въпреки че със сигурност има много съществуващ код, написан в COBOL-2002, и дори малко в COBOL-2014, по-голямата част от все още действащото наследство COBOL съответства на спецификацията от 1985 г..

За езика

COBOL е императивен и процедурен. Спецификацията от 2002 г. добавя обектна ориентация, но тези допълнителни функции са сравнително недостатъчно използвани.

Езикът има синтаксис, подобен на английски, който имаше за цел да улесни четенето и писането. Той е изключително многословен в сравнение с повечето други езици: има над 300 запазени думи и повечето програмиране изискват повече редове код в COBOL, отколкото биха били в други езици.

Програма COBOL е разделена на четири подразделения:

  • Отдел за идентификация, идентифицира (имена) на програмата, класа или интерфейса

  • Отдел „Околна среда“, определя конфигурационни стойности

  • Data Division, който има шест секции, дефинира модела на данни на програмата, използвайки йерархични структури от данни

  • Процедурен отдел, сърцевината на програмата – съдържаща процедури, които обработват данни.

Ключовите думи на COBOL се изписват във ВСИЧКИ CAPS и един ред код следва определен формат.

Линиите са широки 80 колони (задържане от дни с перфокарти), като части от линията са запазени за конкретна употреба.

Например, първите 6 колони или не се използват изобщо, или просто се използват за ръчно въвеждане на редови номера (те просто се игнорират от компилатора – друго задържане на перфокарта). След това:

  • Колона 7 показва коментари (* или /), продължение от предишния ред (-) или код за отстраняване на грешки (d).

  • Колони 8-11, наречени Област А, съдържат заглавия за разделения, секции и процедури или номера на нива за дефиниции на данни.

  • Колоните 12-72, наречени Area B, са кодово пространство в свободна форма

  • Колоните 73-80 исторически се оставят празни (за допълнителна информация за перфокарта).

Ето пример HELLO WORLD:

ИДЕНТИФИКАЦИОНЕН РАЗДЕЛ.
ПРОГРАМА-ID. Например-здравей.
РАЗДЕЛ НА ПРОЦЕДУРА.
DISPLAY "HELLO 1977!"
СТОПЕТЕ РЪК.

(Тези формати за строго разстояние не се изискват в COBOL-2002, но те все още се наблюдават до голяма степен.)

COBOL ресурси

COBOL съществува от доста време, така че има много ресурси за научаването му. Ако работите по наследен проект COBOL, уверете се, че знаете коя версия е и дали вашите референтни материали съответстват на нея.

На линия

уроци

  • COBOL Урок от уроци точка

  • Урок COBOL в Mainframes 360

  • COBOL Програмиране – уроци, лекции, упражнения, примери, от катедра „Компютърни науки и информационни системи“ в Университета в Лимерик

  • Урок за програмиране на COBOL

  • ZingCOBOL: Ръководство за програмиране за начинаещи в COBOL

  • И така, искате да научите COBOL? – не толкова урок, колкото статия „как и защо да научим COBOL“ от „Милениалния мейнфреймър“

  • Четене на оформления на COBOL

  • Урок COBOL от академични уроци

  • Видеоклип:

    • Напишете първа програма COBOL, Съставете и изпълнете, бързо въведение на видео

    • Основни основни рамки с Cobol, видео серия от 15 части за изчисленията на COBOL и Mainframe.

препратка

  • ISO / IEC 1989: 2014, текущият стандарт на COBOL (платен изтегляне)

  • COBOL бързо ръководство.

Инструменти

  • GNU COBOL Compiler, превежда COBOL в C и след това го компилира, създаден да работи с колекцията на GNU Compiler

  • zCOBOL, друг компилатор на COBOL

  • Hercules System / 370, ESA / 390 и z / Архитектурен емулатор, емулатор на мейнфрейм

  • COBOL Tools с отворен код, колектоин от инструменти, лицензирани от GNU COBOL.

Общност и текущо обучение

  • COBOL форум в MainframeGuruKul

  • Форум за програмиране на COBOL в IBMMainframes.com

  • COBOL Subreddit.

Книги

  • Начало на COBOL за програмисти от Майкъл Кафлан

  • Murach’s Mainframe COBOL от Майк Мурах

  • Кобол се отприщи от Джон Уеслер

  • Sams Teaching Yourself COBOL за 24 часа от Thane Hubbell

  • COBOL за 21 век от Нанси Стърн

  • Разширено COBOL за структурирано и обектно-ориентирано програмиране от Gary DeWard Brown

  • Структуриран COBOL на Murach, от Майк Мурах

  • COBOL За манекените от Артър Грифит, и не пропускайте кратката справка за COBOL за манекени от Джон У.

  • Силата на Кобол от Руи Бивар де Оливейра

  • Програмиране на Cobol от MK Roy.

Трябва ли да науча COBOL?

COBOL не е готин и хората го наричат ​​умиращ език повече от десетилетие. Имаше дори надгробна плоча за COBOL, преди езикът дори да бъде завършен. Но за всички изявления за ирелевантността на COBOL, истината е, че COBOL все още не е мъртъв.

COBOL се използва предимно от големи предприятия – компании, които се нуждаят и могат да си позволят мейнфрейм компютри през 60-те, 70-те и 80-те години. Системите от онази епоха, които не са заменени, са твърде сложни, за да бъдат лесно изградени и са твърде важни за да се счупи.

Софтуерните системи в различни индустрии като контрол на трафика, мониторинг на здравеопазването, застрахователно застраховане, финансов одит и държавна документация продължават да управляват COBOL и вероятно ще продължат да го правят известно време.

И повечето програмисти, които изградиха и поддържаха тези системи, наближават (или вече миналата) пенсионна възраст.

В същото време, когато по-старите програмисти на COBOL остаряват от системата, по-младите програмисти не се интересуват много от по-старите технологии. ИТ мениджърите в наследените отрасли са загрижени за идващия недостиг на COBOL.

Това представлява огромна възможност за разработчиците в ранна кариера, които се интересуват от стабилна високоплатена заетост.

Други неща за научаване

С изчезващо редки изключения, COBOL не се използва за изграждане на нови приложения или системи. По-скоро COBOL се използва за изграждане на много мащабни бизнес системи, които все още съществуват.

COBOL програмист най-вероятно ще прекара времето си в поддържане на наследени системи, преобразуване на COBOL приложения в съвременни технологии или изграждане на мостове между COBOL приложение и други системи.

По-голямата част от тази работа ще бъде на големи мейнфрейм компютри; с утвърдени компании; в зрели индустрии като финанси, здравеопазване, правителство и транспорт.

Като се има предвид, че това е екосистемата, в която се развива най-съвременното развитие на COBOL, има редица допълнителни технологии, от които се нуждае един програмист, за да направи уменията на COBOL подходящи и ценни.

Ето кратък списък от умения, които се съчетават добре с COBOL, и връзки към ресурси за учене:

  • Основни изчисления

    • Какво на Земята е мейнфрейм? от Дейвид Стивънс

    • Система за контрол на информацията за клиента (CICS®)

    • CICS на Мурач за програмиста COBOL от Менендес и Лоу

    • Проектиране и програмиране на CICS приложения от Horswill et al

    • Job Control Language (JCL), език за автоматизация, използван широко в COBOL среди

    • Murach OS / 390 и z / OS JCL от Menendez и Lowe

    • Система 390 Език за контрол на работата от Gary DeWard Brown

    • DB2 за програмиста COBOL, част 1 от Гарвин и Екколс и DB2 за програмиста COBOL, част 2 от Гарвин и Принс.

  • По-нови технологии на ниво предприятие, като например:

    • .NET и C #

    • Ява

    • ABAP

  • Други наследени езици, като например:

    • Fortran

    • Erlang

    • напред

  • Езици за системно програмиране, като C, C ++ и D.

  • Технологии за транспорт на данни, особено XML и SOAP

  • Езици на скриптове за помощни програми като Perl и Python

Допълнително четене и ресурси

Имаме още ръководства за програмиране, ръководства и инфографика, свързани с кодирането и ресурсите за програмисти:

  • Въведение в езика за сглобяване: независимо дали го използвате директно и го научите само за да разберете какво наистина се случва на ниво хардуер, езикът на сглобяване е чудесно нещо, което трябва да знаете.

  • Ресурси за програмиране на Bash: ако кодирате COBOL, вероятно ще използвате среда на командния ред. Ето вашия шанс да научите един от най-добрите.

  • Ресурси за програмиране на NXT-G: добре, това няма нищо общо с COBOL. Но след дълъг ден на кодиране, няма ли да се радвате да създавате LEGO роботи?!

Какъв код трябва да научите?

Объркани в какъв език за програмиране трябва да се научите да кодирате? Вижте нашата инфография, какъв код трябва да научите?

Той не само обсъжда различни аспекти на езиците, а отговаря на важни въпроси от рода на: „Колко пари ще спечеля за програмиране на Java за прехрана?“

Какъв код трябва да научите?
Какъв код трябва да научите?

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