<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sib">
	<id>https://sibwiki.org/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%B1%D0%BE%D0%BB</id>
	<title>Кобол - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sibwiki.org/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%B1%D0%BE%D0%BB"/>
	<link rel="alternate" type="text/html" href="https://sibwiki.org/index.php?title=%D0%9A%D0%BE%D0%B1%D0%BE%D0%BB&amp;action=history"/>
	<updated>2026-05-31T13:14:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://sibwiki.org/index.php?title=%D0%9A%D0%BE%D0%B1%D0%BE%D0%BB&amp;diff=85937&amp;oldid=prev</id>
		<title>Yaroslav: Bot: Automated import of articles</title>
		<link rel="alternate" type="text/html" href="https://sibwiki.org/index.php?title=%D0%9A%D0%BE%D0%B1%D0%BE%D0%BB&amp;diff=85937&amp;oldid=prev"/>
		<updated>2026-05-30T21:58:49Z</updated>

		<summary type="html">&lt;p&gt;Bot: Automated import of articles&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторонка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{YouTube|2bQmsq3f-jc|width=300|height=250}}&lt;br /&gt;
&lt;br /&gt;
== Общие сведения ==&lt;br /&gt;
Кобол (от англ. COBOL — Common Business-Oriented Language) — это один из старейших языков программирования высокого уровня, разработанный в 1959 году и ориентированный на разработку коммерческих, экономических и бизнес-приложений. Фундаментальной идеей, заложенной в архитектуру языка, стало максимальное приближение исходного кода к естественному английскому языку. Язык создавался с расчетом на то, чтобы программы могли читать и понимать не только профессиональные программисты, но и специалисты в области экономики, менеджмента и финансов, не имеющие профильного математического образования. &lt;br /&gt;
&lt;br /&gt;
В отличие от языка Фортран, который был ориентирован на сложные инженерные и математические вычисления, Кобол занял нишу обработки больших объемов структурированных данных. Существуют также локализованные версии трансляторов, позволяющие писать программы на естественных национальных языках (включая русскоязычные диалекты Кобола, в которых синтаксис опирается на грамматику русского языка).&lt;br /&gt;
&lt;br /&gt;
== История создания и стандартизация ==&lt;br /&gt;
Разработка языка была инициирована в конце 1950-х годов (сразу после появления спецификации Алгол 58). Ключевую роль в судьбе Кобола сыграло Министерство обороны США, которое выступило главным заказчиком и спонсором разработки. Ведомство нуждалось в универсальном, переносимом языке для обработки административных и логистических данных и потребовало от всех производителей вычислительной техники обязательной поддержки компиляторов Кобола на своих аппаратных платформах. Это обеспечило языку беспрецедентное распространение в 1960-е годы.&lt;br /&gt;
&lt;br /&gt;
Первый официальный стандарт языка был утвержден в 1968 году — спустя почти десятилетие практического использования. Ранние версии Кобола были жестко привязаны к формату перфокарт: синтаксис требовал строгого расположения определенных разделов кода в конкретных позициях (колонках) перфокарты, что формировало фиксированный формат записи.&lt;br /&gt;
&lt;br /&gt;
С развитием вычислительной техники язык подвергался поэтапной модернизации. В стандарте 2002 года (COBOL 2002) был окончательно разрешен свободный формат записи исходного кода, а также внедрена поддержка объектно-ориентированного программирования (ООП). В версии стандарта 2014 года появились современные механизмы переопределения методов. Тем не менее, подавляющее большинство существующего кода базируется на парадигмах, заложенных в середине прошлого века.&lt;br /&gt;
&lt;br /&gt;
== Парадигмы программирования и структура программы ==&lt;br /&gt;
Исторически Кобол является императивным процедурным языком программирования. Несмотря на внешнее сходство с естественным текстом, архитектура программ на Коболе отличается исключительной жесткостью и иерархичностью.&lt;br /&gt;
&lt;br /&gt;
Любая программа в обязательном порядке структурно разделяется на четыре основных раздела (Division):&lt;br /&gt;
* Раздел идентификации (Identification Division) — содержит метаданные программы, имя автора, дату написания и общие сведения.&lt;br /&gt;
* Раздел среды (Environment Division) — описывает конфигурацию оборудования, на котором будет выполняться программа, и осуществляет привязку к физическим устройствам.&lt;br /&gt;
* Раздел данных (Data Division) — строгое и подробное описание всех переменных, файлов и структур данных.&lt;br /&gt;
* Раздел процедур (Procedure Division) — непосредственно алгоритмическая часть, содержащая выполняемые инструкции.&lt;br /&gt;
&lt;br /&gt;
Внутри разделов соблюдается строгая вложенность: разделы делятся на секции, секции — на параграфы, параграфы состоят из предложений (заканчивающихся точкой), а предложения — из отдельных операторов. Такая архитектура лишает язык гибкости, требуя от разработчика точного следования формальным правилам.&lt;br /&gt;
&lt;br /&gt;
== Типы данных и организация файлов ==&lt;br /&gt;
Поскольку язык создавался для финансовых систем, его сильная сторона — работа со сложными иерархическими структурами данных, концептуально напоминающими современные реляционные базы данных. Данные организуются в виде вложенных списков и многоуровневых записей (например, структура «Дата» может включать в себя поля «Год», «Месяц» и «День»).&lt;br /&gt;
&lt;br /&gt;
Специфической чертой языка является способ форматирования переменных. Для этого используется конструкция PICTURE (или сокращенно PIC), которая задает строгую визуальную маску данных (например, максимальную длину фамилии в 30 символов или формат телефонного номера). Дополнительно применяется параметр USAGE, который определяет, в каком физическом формате данные хранятся в памяти машины (в отличие от маски PIC, определяющей способ отображения).&lt;br /&gt;
Базовые типы данных включают:&lt;br /&gt;
* Буквенно-цифровые (Alphanumeric).&lt;br /&gt;
* Буквенные (Alphabetic).&lt;br /&gt;
* Числовые (Numeric, с встроенной поддержкой десятичной запятой для финансовых операций).&lt;br /&gt;
* В современных версиях — объектные типы и указатели.&lt;br /&gt;
&lt;br /&gt;
Язык обладает встроенными инструментами генерации отчетов. Формат отчета, его колонки, заголовки и вычисляемые поля задаются непосредственно в синтаксисе языка, выступая своеобразным аналогом современных генераторов отчетов баз данных. Поддерживается три формата файлов: последовательные (считываемые по порядку), индексированные (с доступом по ключу) и относительные.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис и управляющие конструкции ==&lt;br /&gt;
Синтаксис Кобола характеризуется чрезвычайной многословностью. В классических версиях не используются традиционные математические символы (такие как +, -, =, &amp;lt;, &amp;gt;). Все математические и логические операции записываются полноформатными английскими словами (например, вместо знака «больше» пишется «greater than», а для присваивания вместо знака равенства используется глагол). В языке насчитывается около 300 зарезервированных ключевых слов.&lt;br /&gt;
&lt;br /&gt;
Концептуальный пример математических операций и присваивания:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  MULTIPLY TARIFF BY HOURS&lt;br /&gt;
  MOVE SOURCE-DATA TO TARGET-VARIABLE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Для выполнения банальной операции присваивания в Коболе требуется написать фразу из нескольких слов («передвинуть значение в переменную»), что делает код громоздким по сравнению с алголоподобными или Си-подобными языками.&lt;br /&gt;
&lt;br /&gt;
Управляющие конструкции включают оператор условного ветвления IF и конструкцию множественного выбора EVALUATE (которая концептуально похожа на оператор switch/case в других языках, но отличается высокой читаемостью естественного текста). &lt;br /&gt;
&lt;br /&gt;
Организация процедур и циклов осуществляется через мощный оператор PERFORM. &lt;br /&gt;
Концептуальный пример вызова процедур:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  PERFORM ALPHA THRU GAMMA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
В данном случае интерпретатор переходит к выполнению параграфа ALPHA и последовательно выполняет все инструкции вплоть до параграфа GAMMA, после чего возвращается обратно. В языке также поддерживаются операторы безусловного перехода (GOTO), обработка исключительных ситуаций и даже средства создания самомодифицирующегося кода. Для формального академического описания столь специфического синтаксиса был разработан отдельный коболовский метаязык.&lt;br /&gt;
&lt;br /&gt;
== Сферы применения ==&lt;br /&gt;
На протяжении нескольких десятилетий Кобол являлся абсолютным монополистом в сфере корпоративных финансов, банковского сектора и государственных систем управления. Во многом благодаря этому языку была автоматизирована глобальная экономика в 1960–1980-е годы. &lt;br /&gt;
&lt;br /&gt;
К 1997 году около 90% всех финансовых транзакций в мире обрабатывалось системами, написанными на Коболе. Статистика 2017 года показывала, что 43% вычислительных систем в банковской сфере продолжали использовать этот язык, а общая кодовая база составляла порядка 220 миллиардов строк кода. Кобол по-прежнему применяется в федеральных агентствах США и функционирует на крупных мейнфреймах. &lt;br /&gt;
&lt;br /&gt;
В 2020-е годы язык рассматривается как глубоко устаревший: новые проекты на нем практически не запускаются. Основная задача современных программистов на Коболе заключается исключительно в поддержке и обслуживании гигантских массивов унаследованного (legacy) кода. Ситуация осложняется кадровым голодом: большинство специалистов по Коболу достигли преклонного возраста, а демографические факторы (включая последствия пандемии COVID-19) привели к критическому сокращению числа активных разработчиков.&lt;br /&gt;
&lt;br /&gt;
== Критика и недостатки ==&lt;br /&gt;
С момента своего появления Кобол подвергался сокрушительной критике со стороны академического сообщества. Математики и теоретики информатики указывали на нелогичность архитектуры языка, созданной без их участия. Код на Коболе визуально неструктурен, что затрудняет навигацию и анализ алгоритмов профессиональными разработчиками. Первоначальная идея о том, что программы будут читать и модифицировать финансовые менеджеры, потерпела крах: современные пользователи управляют системами через визуальные интерфейсы, а для инженеров-программистов «естественный» синтаксис Кобола оказался избыточно многословным и запутанным.&lt;br /&gt;
&lt;br /&gt;
Наиболее радикальную оценку языку дал выдающийся нидерландский ученый Эдсгер Дейкстра, заявивший, что использование Кобола «калечит ум», а его преподавание студентам должно рассматриваться как уголовное преступление, поскольку язык отучает специалистов мыслить строгими категориями классической математики и структурной информатики. Попытки внедрить в современные стандарты языка объектно-ориентированное программирование часто оцениваются как избыточные, поскольку новые приложения на Коболе не создаются, а для поддержки старых скриптов объекты не требуются.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Лисп]]&lt;br /&gt;
[[Лого (язык программирования)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Языки программирования]]&lt;br /&gt;
[[Category:История компьютерных технологий]]&lt;br /&gt;
[[Category:Устаревшие языки программирования]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=2bQmsq3f-jc Смотреть видео]&lt;/div&gt;</summary>
		<author><name>Yaroslav</name></author>
	</entry>
</feed>