Кобол: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
imported>YurikBot
м добавлена ссылка на Лексему d:Lexeme:L117641
 
Ссылки: уточнение
 
Строка 1: Строка 1:
= {{-ru-}} =
__NOTOC__
{{Лексема в Викиданных|L117641}}
{{Карточка языка программирования
 
| name = '''Кобол'''
=== Морфологические и синтаксические свойства ===
| paradigm = [[Процедурное программирование|процедурный]],<br> [[Объектно-ориентированное программирование|объектно-ориентированный]]
{{сущ ru m ina 1a
| year = [[1959]]
|основа=кобо́л
| designer = [[Хоппер, Грейс|Грейс Хоппер]], Вильям Селден, Гертруда Тирни, Говард Бромберг, Говард Дискаунт, Вернон Ривз, Джин Е. Саммет
|слоги={{по-слогам|ко|бо́л}}
| последняя версия = ISO/IEC 1989:2014<ref>{{Cite news|title=ISO/IEC 1989:2014|url=https://www.iso.org/standard/51416.html|access-date=2022-04-05|archive-date=2022-04-05|archive-url=https://web.archive.org/web/20220405165243/https://www.iso.org/standard/51416.html}}</ref>
| latest release version = COBOL 2002
| latest release date = 2002
| дата выпуска последней версии = {{start date and age|2014|06}}
| typing = [[Строгая типизация|строгая]], [[Статическая типизация|статическая]]
| implementations = [[GCC]] COBOL, [[GNU]] COBOL,  [[IBM]] COBOL, [[Micro Focus International]] VisualCobol
| dialects = HP3000 COBOL/II, COBOL/2, IBM OS/VS COBOL, IBM COBOL/II, IBM COBOL SAA, IBM Enterprise COBOL, IBM COBOL/400, IBM ILE COBOL, Unix COBOL X/Open, Micro Focus COBOL, Microsoft COBOL, Ryan McFarland RM/COBOL, Ryan McFarland RM/COBOL-85, DOSVS COBOL, UNIVAC COBOL, Realia COBOL, Fujitsu COBOL, ICL COBOL, ACUCOBOL-GT, DEC VAX COBOL, Wang VS COBOL, Visual COBOL
| influenced_by = [[FLOW-MATIC]], [[COMTRAN]], [[FACT (язык программирования)|FACT]]
| influenced = [[PL/I]], [[CobolScript]], [[ABAP]]
}}
}}


{{морфо-ru|кобол}}
'''Кобол''' (''COBOL'', от {{lang-en|common business-oriented language}}; {{IPAc-en|ˈ|k|oʊ|b|ɒ|l|,_|-|b|ɔː|l}})<ref>{{cite web | title=New to COBOL | url=https://www.microfocus.com/documentation/visual-cobol/vc60/DevHub/GUID-F7908F35-6AD9-4A42-B710-25750904789E.html }}</ref> — [[Компилируемый язык программирования|компилируемый]] [[язык программирования]], созданный в 1959 году комитетом [[CODASYL]] как переносимый язык для обработки деловых данных. В качестве основы взят более ранний язык [[FLOW-MATIC]], созданный под руководством [[Хоппер, Грейс|Грейс Хоппер]] (известной в связи с этим как «бабушка Кобола»).


=== Произношение ===
Язык использует англоязычные ключевые слова и его [[Синтаксис (программирование)|синтаксис]] приближен к целостным предложениям на английском языке, тем самым обеспечивается легкочитаемость и самодокументируемость программ; существовали также реализации с переводом ключевых слов на другие языки, в частности — на русский. Изначально — [[Императивное программирование|императивный]], [[Процедурный язык программирования|процедурный]], с 2002 года — также и [[Объектно-ориентированный язык программирования|объектно-ориентированный]].
{{transcription-ru|кобо́л|}}
Основные типы данных — числа, текстовые строки<ref>{{Cite web|url=http://cs.brown.edu/~adf/programming_languages.html|title=A History of Computer Programming Languages|website=cs.brown.edu|access-date=2021-10-02|archive-date=2021-07-26|archive-url=https://web.archive.org/web/20210726165920/https://cs.brown.edu/~adf/programming_languages.html|url-status=live}}</ref>, впервые в языках программирования введена структура данных «[[Запись (тип данных)|запись]]», впоследствии применённая в большинстве прочих языков.
Программа на Коболе разделяется на четыре части (идентификация, среда, данные и процедура), содержащих жёсткую иерархию разделов, абзацев и предложений.


=== Семантические свойства ===
Начальное распространение языка во многом связано с инициативой [[Министерство обороны США|Министерства обороны США]], считавшего Кобол удобным и переносимым языком для обработки данных и требовавшего от производителей реализации Кобола в поставляемых машинах<ref>{{Книга|ссылка=https://books.google.com/books?id=VCcsTPQ738oC&pg=PA100|автор=Nathan L. Ensmenger|заглавие=The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise|год=2012-08-24|издательство=MIT Press|страниц=331|isbn=978-0-262-30282-1}}</ref>.
В 1960-х — начале 1970-х годов стал основным языком разработки деловых и экономических программных систем.
Хотя с 1980-х годов считается устаревшим, к 1997 году активно использовалось около 240 млрд строк кода на Коболе, кодом на Коболе обрабатывалось около 90 % финансовых [[Транзакция (финансы)|транзакций]] в мире и 75 % коммерческих транзакций, общая стоимость используемого кода — 2 трлн долларов США<ref>{{Cite web |url=http://www.ddj.com/architect/210602491?pgno=2 |title=Is Your Next Language COBOL? |access-date=2009-06-04 |archive-date=2009-06-15 |archive-url=https://web.archive.org/web/20090615033535/http://www.ddj.com/architect/210602491?pgno=2 |url-status=live }}</ref>; по состоянию на 2020-е годы язык по-прежнему широко используется во многих приложениях, особенно для [[мейнфрейм]]ов от [[IBM]] (на иных не используется)<ref>{{Cite web|lang=en|url=https://www.computerworld.com/article/2502420/brain-drain-where-cobol-systems-go-from-here.html|title=Brain drain: Where Cobol systems go from here|author=Robert L. Mitchell|website=Computerworld|date=2012-03-14|access-date=2021-10-02|archive-date=2021-10-02|archive-url=https://web.archive.org/web/20211002192854/https://www.computerworld.com/article/2502420/brain-drain-where-cobol-systems-go-from-here.html|url-status=live}}</ref>.
Большая часть современного программирования на Коболе предназначена для поддержки существующих приложений; однако многие крупные финансовые учреждения ещё в 2006 году всё ещё разрабатывали новые системы на языке<ref>{{Cite web|lang=en|url=https://www.computerworld.com/article/2554103/cobol--not-dead-yet.html|title=Cobol: Not Dead Yet|author=Robert L. Mitchell|website=Computerworld|date=2006-10-04|access-date=2021-10-02|archive-date=2021-10-02|archive-url=https://web.archive.org/web/20211002192853/https://www.computerworld.com/article/2554103/cobol--not-dead-yet.html|url-status=live}}</ref>; проблема заключается в том, что специалистов, владеющих этим языком, сейчас очень мало<ref>[https://www.ixbt.com/news/2026/02/24/akcii-ibm-ruhnuli-izza-togo-chto-ii-teper-mozhet-provesti-refaktoring-prilozhenij-napisannyh-na-ustarevshem-jazyke-cobol.html Акции IBM рухнули из-за того, что ИИ теперь может провести рефакторинг приложений, написанных на устаревшем языке COBOL] // 24-02-2026 </ref>.


==== Значение ====
Язык был стандартизирован в 1968 году и с тех пор пересматривался четыре раза. Расширения включают поддержку структурированного и объектно-ориентированного программирования. Текущий стандарт — ISO / IEC 1989: 2014<ref>{{Cite web|lang=en|url=https://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/05/14/51416.html|title=ISO/IEC 1989:2014|author=14:00-17:00|website=ISO|access-date=2021-10-02}}</ref><ref>{{Cite web|url=http://www.cobolstandard.info/wg4/wg4.html|title=ISO/IEC JTC1/SC22/WG4 - COBOL|website=web.archive.org|date=2014-02-14|access-date=2021-10-02|archive-date=2013-09-02|archive-url=https://web.archive.org/web/20130902053244/http://www.cobolstandard.info/wg4/wg4.html|url-status=dead}}</ref>. Стандарт языка определяет 43 оператора, 87 функций и один класс, зарезервировано 300 ключевых слов.
# {{спец.|ru}} [[язык программирования]] третьего поколения (первая версия в 1959), предназначенный, в первую очередь, для экономических [[расчёт]]ов {{пример|До сих пор кобол считается языком программирования, на котором было написано больше всего строк кода.}}


==== Синонимы ====
В начале 2020-х IBM создала ПО ''watsonx Code Assistant for Z'' для переписи кода COBOL на [[Java]].<!-- ...это не решало вопрос монополии. На данный момент COBOL фактически работает только на мейнфреймах IBM и поддерживается только инженерами IBM. Само собой, монополия означает дороговизну соответствующих услуг.-->
# -
В 2026 г. <!-- компания Anthropic заявила что -->ИИ-инструменты [[Claude Code]] ускорили процесс [[рефакторинг]]а приложений, написанных на COBOL.
#
#


==== Антонимы ====
Основная критика языка связана с его «многословием» — программы в связи с синтаксическим решением оказываются громоздкими, например, присваивание, выражаемое в [[C-подобный синтаксис|Cи-подобных]] языках как {{Code|code=y = x;|lang=c}}, записывается как {{Code|code=MOVE x TO y|lang=cobolfree}}. Кроме того, в развитии языка, как ориентированного на коммерческое применение, практически не принимали участие академические круги, относившиеся к языку со скепсисом, доходящим до крайних форм, так, широко известно высказывание [[Эдсгер Вибе Дейкстра|Дейкстры]] «Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление».
# -
#
#


==== Гиперонимы ====
== Hello world ==
# [[язык]], [[код]]
<source lang="cobol">
#
        IDENTIFICATION DIVISION.
#
          PROGRAM-ID. HELLO-WORLD.
        *
        ENVIRONMENT DIVISION.
        *
        DATA DIVISION.
        *
        PROCEDURE DIVISION.
        PARA-1.
          DISPLAY "Hello, world.".
        *
            EXIT PROGRAM.
          END PROGRAM HELLO-WORLD.
</source>


==== Гипонимы ====
== Примечания ==
# -
{{примечания|2}}
#
#


=== Родственные слова ===
== Литература ==
{{родств-блок
* {{книга
|имена-собственные=
|заглавие = Основные концепции языков программирования
|существительные=
|часть = '''2.6. Компьютеризация коммерческих записей: язык COBOL'''
|прилагательные=
|оригинал = Concepts of Programming Languages
|глаголы=
|автор = Роберт В Себеста
|наречия=
|ссылка = https://archive.org/details/isbn_5845901928
|isbn = 5-8459-0192-8
|страницы = [https://archive.org/details/isbn_5845901928/page/n658 672]
|год = 2001
|издание = 5-е изд
|место = М.
|издательство = [[Вильямс (издательство)|«Вильямс»]]
}}
}}
; Стандарты
* [http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=28805 ISO/IEC 1989:2002 Information technology — Programming languages — COBOL] {{Wayback|url=http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=28805 |date=20121025041533 }}
* ГОСТ 22558-89 Язык программирования КОБОЛ
* Бабенко Л. П., Богданова Г. С., Загузова Л. К., Первин Ю. А., Романовская Л. М., Ющенко Е. Л. Государственный стандарт 22558-77 «Язык программирования Кобол». ГК стандартов СМ СССР, М., 1977.


=== Этимология ===
== Ссылки ==
Происходит от англ. аббревиатуры [[COBOL]], COmmon Business Oriented Language
* [http://bitsavers.informatik.uni-stuttgart.de/pdf/codasyl/ Отчёт комитета CODASYL 1960 года по языку COBOL] {{Wayback|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/codasyl/ |date=20160304204310 }}{{ref|en}} на сайте bitsavers.org
 
* [http://www.csis.ul.ie/COBOL/  COBOL programming — tutorials, lectures, exercises, examples] {{Wayback|url=http://www.csis.ul.ie/COBOL/ |date=20050102030051 }}
=== Фразеологизмы и устойчивые сочетания ===
* [https://web.archive.org/web/20050814083835/http://www.cobug.com/ COBOL User Groups (COBUG)] /вебархив/
 
* [https://web.archive.org/web/20071103075537/http://www.compulenta.ru/300411/ Языку программирования COBOL скоро (в 2009) исполнится 50 лет] // 21 декабря 2006 /вебархив/
=== Перевод ===
* [https://web.archive.org/web/20110122112520/http://www.cybersecurity.ru/net/113160.html Язык программирования Cobol заработал в облачной среде] // 1 января 2011 /вебархив/
{{перев-блок
|en=[[kobol]], [[COBOL]]
|it=[[COBOL]]
|de=[[COBOL]]
|fr=[[cobol]]
}}


=== Анаграммы ===
{{перевести|en|COBOL}}
* [[колоб]], [[лобок]]
{{внешние ссылки}}


<!-- Служебное: -->
[[Категория:Кобол| ]]
{{improve|ru|}}
{{Категория|язык=ru|Языки программирования}}
{{длина слова|5|ru}}

Текущая версия от 23:51, 24 февраля 2026

Шаблон:Карточка языка программирования

Кобол (COBOL, от англ. Шаблон:Lang-en2; Шаблон:IPAc-en)<ref>Шаблон:Cite web</ref> — компилируемый язык программирования, созданный в 1959 году комитетом CODASYL как переносимый язык для обработки деловых данных. В качестве основы взят более ранний язык FLOW-MATIC, созданный под руководством Грейс Хоппер (известной в связи с этим как «бабушка Кобола»).

Язык использует англоязычные ключевые слова и его синтаксис приближен к целостным предложениям на английском языке, тем самым обеспечивается легкочитаемость и самодокументируемость программ; существовали также реализации с переводом ключевых слов на другие языки, в частности — на русский. Изначально — императивный, процедурный, с 2002 года — также и объектно-ориентированный. Основные типы данных — числа, текстовые строки<ref>Шаблон:Cite web</ref>, впервые в языках программирования введена структура данных «запись», впоследствии применённая в большинстве прочих языков. Программа на Коболе разделяется на четыре части (идентификация, среда, данные и процедура), содержащих жёсткую иерархию разделов, абзацев и предложений.

Начальное распространение языка во многом связано с инициативой Министерства обороны США, считавшего Кобол удобным и переносимым языком для обработки данных и требовавшего от производителей реализации Кобола в поставляемых машинах<ref>Шаблон:Книга</ref>. В 1960-х — начале 1970-х годов стал основным языком разработки деловых и экономических программных систем. Хотя с 1980-х годов считается устаревшим, к 1997 году активно использовалось около 240 млрд строк кода на Коболе, кодом на Коболе обрабатывалось около 90 % финансовых транзакций в мире и 75 % коммерческих транзакций, общая стоимость используемого кода — 2 трлн долларов США<ref>Шаблон:Cite web</ref>; по состоянию на 2020-е годы язык по-прежнему широко используется во многих приложениях, особенно для мейнфреймов от IBM (на иных не используется)<ref>Шаблон:Cite web</ref>. Большая часть современного программирования на Коболе предназначена для поддержки существующих приложений; однако многие крупные финансовые учреждения ещё в 2006 году всё ещё разрабатывали новые системы на языке<ref>Шаблон:Cite web</ref>; проблема заключается в том, что специалистов, владеющих этим языком, сейчас очень мало<ref>Акции IBM рухнули из-за того, что ИИ теперь может провести рефакторинг приложений, написанных на устаревшем языке COBOL // 24-02-2026 </ref>.

Язык был стандартизирован в 1968 году и с тех пор пересматривался четыре раза. Расширения включают поддержку структурированного и объектно-ориентированного программирования. Текущий стандарт — ISO / IEC 1989: 2014<ref>Шаблон:Cite web</ref><ref>Шаблон:Cite web</ref>. Стандарт языка определяет 43 оператора, 87 функций и один класс, зарезервировано 300 ключевых слов.

В начале 2020-х IBM создала ПО watsonx Code Assistant for Z для переписи кода COBOL на Java. В 2026 г. ИИ-инструменты Claude Code ускорили процесс рефакторинга приложений, написанных на COBOL.

Основная критика языка связана с его «многословием» — программы в связи с синтаксическим решением оказываются громоздкими, например, присваивание, выражаемое в Cи-подобных языках как Шаблон:Code, записывается как Шаблон:Code. Кроме того, в развитии языка, как ориентированного на коммерческое применение, практически не принимали участие академические круги, относившиеся к языку со скепсисом, доходящим до крайних форм, так, широко известно высказывание Дейкстры «Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление».

Hello world

<source lang="cobol">

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

</source>

Примечания

Шаблон:Примечания

Литература

Стандарты
  • ISO/IEC 1989:2002 Information technology — Programming languages — COBOL Шаблон:Wayback
  • ГОСТ 22558-89 Язык программирования КОБОЛ
  • Бабенко Л. П., Богданова Г. С., Загузова Л. К., Первин Ю. А., Романовская Л. М., Ющенко Е. Л. Государственный стандарт 22558-77 «Язык программирования Кобол». ГК стандартов СМ СССР, М., 1977.

Ссылки

Шаблон:Перевести Шаблон:Внешние ссылки