Что такое COBOL и почему он пользуется спросом?

COBOL, которому 60 лет, переживает возрождение. Многие мэйнфреймы правительственных систем используют COBOL и изо всех сил пытаются справиться с резким ростом спроса. В частности, система безработицы штата Нью-Джерси управляется мэйнфреймом COBOL, которому уже 40 лет.

В связи с ростом безработицы, связанным с COVID-19, система изо всех сил пытается не отставать. Губернатор Мерфи считает программистов на COBOL недооцененной необходимостью.

Что такое КОБОЛ?

В 1959 году Комитет по языкам систем данных разработал COBOL. Они хотели разработать стандартный язык программирования для работы на множестве различных мэйнфреймов.

В то время разрабатывались многие новые языки программирования, и перевод языков программирования для работы на новом оборудовании становился слишком дорогим. COBOL, или общий бизнес-ориентированный язык, был решением этой проблемы.

COBOL был основан на языке программирования FLOW-MATIC, который был создан Грейс Хоппер. Это был первый язык программирования, в котором для обработки данных вместо математической записи использовались английские термины. Грейс Хоппер объяснила:

«Раньше я был профессором математики. В то время я обнаружил, что есть определенное количество студентов, которые не могут изучать математику. Затем мне было поручено облегчить бизнесменам использование наших компьютеров ». (Раннее развитие языков программирования, стр.29)

Точно так же COBOL использует английские термины и был разработан так, чтобы его было легко читать. Однако некоторые критиковали его за слишком многословность. Например, в C вы можете написать следующее, чтобы сложить два числа:

 int result = 1 + number;

Тот же код на COBOL будет записан как:

 ADD 1 TO number GIVING result

Как и C, COBOL – это процедурный язык программирования. Это просто означает, что программы COBOL разработаны для выполнения последовательных шагов. COBOL также является самодокументированным языком, что делает его более удобным в использовании. Однако наиболее известной особенностью COBOL является то, что он может обрабатывать большие объемы данных.

Связанный: 5 советов по программированию на C, которые вы должны изучить, чтобы начать работу

COBOL получил широкое распространение, особенно в компаниях, правительствах и финансовых учреждениях. Настолько широко распространен, что даже до сих пор используется во многих местах.

Несмотря на прошлую популярность COBOL, мало кто знает этот язык. Сегодня существует больше языков программирования, ориентированных на английские команды, которые имеют гораздо больше возможностей, чем COBOL. Некоторые программисты создают новые программы на COBOL; его основное использование – поддержка устаревших программ.

Критика COBOL заключается в том, что программисты имели тенденцию писать спагетти-код. Код спагетти – уничижительный термин для кода с плохой структурой. Основным виновником плохо структурированного кода была команда GOTO.

Как упоминалось ранее, COBOL является процедурным, поэтому компьютер читает каждую строку кода сверху вниз по порядку. Команда GOTO позволяла программисту указать программе перейти на другую строку. Плохое использование команды GOTO может сделать код COBOL запутанным.

Связанный: Как сохранить ваш код в чистоте с помощью инкапсуляции объектов

Еще одна причина непопулярности COBOL заключается в том, что его редко преподают в университетах. COBOL был создан бизнес-сообществом, а не академическим сообществом. Он был разработан для решения бизнес-задач и оптимизирован для таких задач, как обработка данных. Ученые часто интересуются разными вопросами и поэтому продвигают разные языки программирования.

Однако одна из самых больших проблем с COBOL заключается в том, что, несмотря на то, что он задуман как общий язык, это не так. По мере развития языка было создано множество различных диалектов – 300 из них!

Это затрудняет понимание унаследованного кода программистами.

Почему COBOL важен

Поскольку COBOL широко используется предприятиями и правительствами, существует еще много систем COBOL, которые необходимо поддерживать. Унаследованный код, как известно, сложно поддерживать, потому что программы большие и сложные. Таким образом, для поддержки программ необходимы программисты с глубоким пониманием языка.

Кроме того, на внесение изменений в код уходит много времени, потому что трудно определить, повлияют ли изменения на другие части программы.

Например, в 90-е мы столкнулись с ошибкой 2000 года. Многие даты года были сохранены в компьютерах с использованием последних двух цифр года вместо полного года. Итак, 1997 был сохранен как 97. Были опасения, что когда год изменится на 2000, год 00 не будет признан действительным, вызовет проблемы с последовательностью дат и потенциально приведет к сбою многих систем.

Правительствам и компаниям США потребовалось несколько лет и 100 миллиардов долларов, чтобы справиться с ошибкой 2000 года. Устаревшие системы можно изменить, но это может занять время и дорого.

В 2020 году COVID-19 создал новую проблему программирования. Система безработицы США работает на COBOL, и вносить изменения в программу очень сложно и дорого. Например, Конгресс планировал отреагировать на всплеск безработицы, рассчитав выплаты по безработице на основе потерянной заработной платы. Однако на корректировку программы для выполнения расчета потребовалось бы пять месяцев.

Связанный: Коронавирус COVID-19: 15 сайтов, которым можно доверять, чтобы получить надежную информацию

Системы COBOL не могут быть изменены достаточно быстро, чтобы реагировать на кризисные ситуации. Проблема усугубляется тем, что не хватает людей, обученных COBOL, чтобы помочь с повышенным уровнем обслуживания, необходимым для поддержки систем во время кризиса. Те, кто обучается COBOL, либо находятся на пенсии, либо приближаются к пенсии.

Где изучить COBOL

Чтобы помочь удовлетворить растущую потребность в программистах COBOL, IBM создала бесплатный курс COBOL . Курс состоит из серии видео, викторин и лабораторных заданий, его прохождение занимает 16 часов, и по окончании вы получите значок.

Если вы уже являетесь опытным программистом на COBOL, IBM также предлагает сетевой форум на COBOL. Там опытные программисты могут быть подключены к нуждающимся организациям и предприятиям.

COBOL – не модный язык программирования, как Python, но очень важный. Большая часть мира все еще работает на COBOL. Если вы думали об изучении языка программирования, но вам нужен толчок, подумайте об изучении COBOL.