Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
CODASYL Печать
Министерство обороны США организовало специальную конференцию по языкам программирования, которая состоялась в последнюю неделю мая 1959 г. Ее возглавлял Чарльз Филлипс (Charles Phillips), директор Института исследований систем обработки данных министерства обороны США, человек весьма прямолинейный.

Позже это собрание получило название КОДАСИЛ (CODASYL, от COnference on DAta SYstems Language - конференция по языкам систем обработки данных). Важнейшие поставщики компьютеров, фирмы Honeywell International, General Electric, Burrows, Sperry Rand, Radio Corporation of America, Silvaniya Electric Products и IBM, направили на конференцию своих представителей. Филлипс сообщил им, что Пентагон желает иметь единый язык программирования, причем как можно быстрее.

Собравшиеся ответили на вызов, как обычно делают программисты - разбив задачу на шаги и пронумеровав их. Они решили образовать три группы, или комитета: кратковременный, промежуточный и долгосрочный. Первый должен был разработать основу проекта, второй, опираясь на эти разработки, - создать действующую систему, а третий - за несколько лет разработать то, что, по мысли членов CODASYL, должно стать последним словом в языках программирования. Исполнительному комитету CODASYL, также возглавляемому Филлипсом, поручалось контролировать весь этот процесс.

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

«В тот момент было совсем не очевидно, что мы делали что-то еще, кроме попыток скомбинировать три известных в то время языка [для деловых приложений]», - говорила Джин Сэммит, представитель фирмы Silvaniya и ведущий член кратковременного комитета. Группа Сэммит должна была выработать временное решение, которое позволило бы промежуточному комитету получить более сложный продукт.

Кратковременный комитет предпринял попытку собрать воедино основные части языков FLOW-MATIC, AIMACO и «Коммерческий транслятор», но части не соединялись. В результате напряженного труда в течение лета некоторые члены комитета поняли, что могут, опираясь на имеющиеся языки, создать новый, не похожий на них.

В это время возникли разногласия среди членов комитета. Представители IBM заняли твердую позицию: всякая попытка написать абсолютно новый язык увела бы кратковременный комитет слишком далеко за пределы его полномочий.

Большинство членов комитета, включая председателя Джозефа Уэгстена из Национального бюро стандартов, были не согласны с этим. Уэгстен весьма удачно сравнил работу комитета с работой Конституционного съезда США 1787 г.: если бы делегаты того съезда не вышли за пределы исходного устава, то, утверждал он, «мы бы не имели конституции».

Несмотря на неопределенность роли кратковременного комитета и очевидные попытки свести на нет его усилия, работа продвигалась. К середине осени новый язык обрел определенный вид и даже имя. Он был назван Кобол (COBOL, от COmmon Business Oriented Language - универсальный язык, предназначенный для бизнеса).

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

Собравшись в октябре, они удивили всех принятием резолюции, одобрявшей совсем другой язык: Факт (FACT, от Fully Automatic Compiling Technique - полностью автоматический компилирующий метод) - принципиально новый язык обработки данных, который уже несколько месяцев спокойно разрабатывался в компании Honeywell International. В его спецификациях имелось несколько привлекательных возможностей, как то: ввод данных с карт, удобный в эксплуатации генератор отчетов.

Резолюция призывала исполнительный комитет CODASYL заменить спецификации COBOL спецификации языка FACT. Естественно, это вызвало неудовольствие членов кратковременной группы, особенно Джин Сэммит, которая изо всех сил боролась за COBOL. Как заявила Сэммит, представитель фирмы Honeywell в ее комитете был «удивительно молчалив», даже не заикнувшись о существовании нового языка. «Как нетрудно представить, - писала позднее Сэммит, - резолюция произвела на представителей кратковременного комитета эффект разорвавшейся бомбы».

Закулисные интриги продолжались до следующего заседания исполнительного комитета. Не желая давать фирме Honeywell преимущества на рынке, большинство компаний выступило против FACT, и они победили. Собравшись в январе 1960 г., исполнительный комитет просто не одобрил резолюцию в пользу FACTA. Споры продолжались и на последующих встречах, но к тому времени комитет уже принял COBOL.

Так COBOL пережил вторую попытку похоронить его. Если бы для него потребовался надгробный камень, то он уже был у председателя CODASYL Чарльза Филлипса. Незадолго до январского заседания в контору Филлипса доставили тяжелый ящик. Внутри он обнаружил небольшой мраморный обелиск, на котором был изваян лежащий ягненок (агнец божий). На обелиске было высечено одно слово - COBOL.

С тех пор для COBOL писалось много эпитафий, но все преждевременно. И даже, в «возрасте» более четверти века, язык был далек от кончины. К середине 80-х годов стоимость программ, написанных на COBOL, оценивал ась в 50 млрд. долл. Такие вложения гарантируют долгую жизнь языка. Компании не желают нести дополнительные расходы, связанные с переходом на новую систему, даже если при длительном использовании она может оказаться более эффективной.

Более того, COBOL периодически обновляется, и по-прежнему эффективен в той области, для которой создавался: в обработке деловой информации.

Американский бизнес ухватился за COBOL почти сразу. Спецификации COBOL были опубликованы в апреле 1960 г., а в конце этого же года компании RCA и «Сперри Рэнд» уже продавали свои компиляторы для него. Другие изготовители поспешили последовать их примеру. Фирма IBM первое время не участвовала в гонке за COBOL, продолжая предлагать «Коммерческий транслятор». Honeywell тоже держалась в стороне, уязвленная неприятием ее языка. Однако в конце концов и они приняли COBOL. В скором времени этот язык вытеснил как FACT, так и «Коммерческий транслятор».

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

Интересно, что именно эти возможности составляли сильные стороны FACT. Многие последующие версии COBOL также были одобрены наблюдательной комиссией CODASYL, которая продолжала регулярно собираться. Поскольку число конторских подразделений, использующих COBOL, росло на протяжении 60-х годов, один журнал по вычислительной технике сравнил его с сорняком: несмотря на все попытки его выполоть, он продолжает расти и размножаться.
 
COBOL
Говард Бромберг из фирмы RCA, участвовавший в группе по разработке COBOL, прислал в начале 1960 г. этот обелиск председателю комитета CODASYL Чарльзу Филлипсу; так он выразил свое разочарование отсутствием прогресса в развитии COBOL. Попытки достичь «общего согласия» нередко подвергали серьезному испытанию терпение членов группы, однако к концу года такая стратегия привела к созданию первой версии языка, который долгое время оставался международным стандартом для расчетов в сфере бизнеса. В 1985 г. на праздновании 25-летия Кобола Бромберг наконец сознался в своем поступке.

COBOL удобен для сферы бизнеса по нескольким причинам. Он особенно эффективен при описании простых операций (таких, как сложение, вычитание, вычисление процентов), применяемых к большим массивам данных. Далее, он также машинно-независим: программы на COBOL можно переносить с одного компьютера на другой. Поскольку в COBOL используются обычные английские слова и синтаксис английского языка, даже администраторы и менеджеры, не знакомые с программированием, без труда понимают программный код. Такая «читабельность» программ облегчает поиск ошибок, добавление новых и изменение существующих свойств программы. Облегчаются и другие операции по сопровождению программ. Известны хорошо оформленные программы на COBOL, пережившие машины, для которых они были написаны.

COBOL был разработан для выполнения однородных операций над большими массивами данных, но оказался не очень удобен как универсальный язык. Многие математики и программисты научных задач (аристократы программистского сообщества) считают COBOL многословным и громоздким. Как и FORTRAN, его часто называют динозавром. Однако широкое применение COBOL продолжается.

Примерно одна четверть конторских программ в мире все еще пишется на COBOL. Универсальность этого языка продемонстрировала Грейс Хоппер во время посещения вычислительного центра в Японии. Она и хозяева-японцы никак не могли понять друг друга, пока Хоппер не вспомнила некоторые команды COBOL. «MOVE» (переместить) - сказала она, показав на себя, - GOTO (перейти к) отель "Осака"». Японцы сразу же доставили ее в гостиницу.