1 августа и COBOL: как они связаны?

83a9c28628193bc3277f5996be6e12f7.png

Привет, Хабр! Меня зовут Дарья Фролова, я редактор направления спецпроектов в МТС Диджитал. Хочу предложить вам вспомнить, что сегодня за дата — и я сейчас не про первый день последнего месяца лета. Спойлер: поговорим о Грейс Хоппер и ЯП. Жду вас под катом!

Что там с 1-м августа?

7ee4ecd53377748eca4e81f3279a1be2.jpg

Именно в этот день, но в 1967 году Грейс Хоппер заняла пост директора Группы языков программирования в Департаменте информационных систем ВМФ США. Она разработала валидационное программное обеспечение для языка COBOL и его компилятора — это было частью его стандартизации. Считается, что сам COBOL родился в 1959 году. Основой для него послужил FLOW-MATIC, который был разработан для компьютера UNIVAC I в Remington Rand под руководством той же Грейс Хоппер.

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

Отдельная заслуга Грейс Хоппер — введение стандартизации к тестированию компьютерных систем и компонентов. Важно, что сделано это было и в отношении ранних языков программирования — Fortran и COBOL.

О Грейс уже много писали на Хабре, так что повторяться не буду. Напомню только, что она была тем человеком, который убедил министерство обороны США заменить огромные вычислительные системы сетью из малых (для того времени) компьютеров. Любой пользователь такого узла мог получить доступ к нужной информации из локальной сети. Ну, а потом сама эта концепция стала частью современного интернета.

Грейс Хоппер получила признание военных, ученых и обычных людей. В ее честь были названы корабль USS Hopper (DDG-70) и суперкомпьютер Cray XE6. Многие ее идеи и проекты до сих пор с нами — включая тот самый COBOL, древний по современным меркам язык программирования.

А COBOL до сих пор используется?

Представьте себе, да. Язык, которому исполнилось 65 лет, действительно остается в ходу.

Конечно, компании постепенно отказываются от COBOL. Но в ряде сфер он пока что незаменим — на его основе работают системы, связанные в основном с финансами: банковская отрасль, фондовые биржи, социальные сервисы (биржа труда в США как пример). А вот инфографика, которая показывает актуальность языка в 2017 году (немного устарело, но все же):

f28f764957b6dd837c7d12708540bce5.png

Так что популярность ЯП не падает, а держится на плаву и иногда даже растет. В августе 2023 года COBOL вышел на 15 место в рейтинге среди ЯП. А в июле этого года занял 19 место в рейтинге TIOBE.

659da30add93ded58f1a0518d2550af0.png

TIOBE — популярный рейтинг. Он формируется на базе таких критериев:

  • количество запросов о языке в популярных поисковиках;

  • активность обсуждения на профильных ресурсах;

  • количество вакансий с указанием языка.

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

Еще одно доказательство — в 2022 году количество строк кода, написанных на COBOL, составило 800 млрд. Востребованность языка оказалась настолько высокой, что несколько лет назад 75-летний программист Билл Хиншо основал новую организацию, которая занималась поддержкой решений на базе COBOL.

Пример программы на COBOL — это обычный Hello World:

Пример программы на COBOL — это обычный Hello World:

      	IDENTIFICATION DIVISION.
       	PROGRAM-ID. HELLO-WORLD.
    	*
     	ENVIRONMENT DIVISION.
    	*
     	DATA DIVISION.
    	*
     	PROCEDURE DIVISION.
     	PARA-1.
       	DISPLAY "Hello, world.".
    	*
         	EXIT PROGRAM.
       	END PROGRAM HELLO-WORLD.

Но ситуация постепенно меняется. Корпорация IBM разработала набор инструментов, позволяющий портировать COBOL-программы на Java — Watsonx Code Assistant. В основу положена модель генерации кода CodeNet — она может понимать не только COBOL и Java, но и около 80 других языков программирования. Платформа обучена на огромном массиве данных, у нее 20 млрд параметров.

6827efed146b7d88fc8a41686339df77.png

Компания предложила свое решение партнерам, и они постепенно переходят со старой инфраструктуры на новую. Не только в США, но и в других странах, где до сих пор используется COBOL.

По оценкам IBM, сейчас 220 миллиардов строк кода действуют на мэйнфреймах и прочих системах. Обновленная версия языка обеспечивает точность вычислений, по-прежнему трудно достижимую в других ЯП. Например, COBOL может выполнять математические операции с точностью до 38 знаков после запятой, с усечением.

Так что наследие Грейс Хоппер и ее коллег продолжает жить среди нас и приносить пользу. Ну, а вы теперь знаете, о чем можно рассказать сотрудникам и друзьям в первый день последнего месяца лета.

© Habrahabr.ru