 Софтпанорама 1993,  No.66 (50) *** FOREWORD *** Составитель Н.Н.Безруков
 =================== июнь 1994  =========================================

               ----------------------------------------
               #   К О Л О Н К А   Р Е Д А К Т О Р А  #
               ----------------------------------------

                        Уважаемые коллеги !

В этом месяце исполнилось 30 лет со момента появления System 360 - пожалуй са-
  мой  влиятельной  и  безусловно  самой долгоживущей архитектуры компьютеров.
  Aрхитектуры, доминировавшей с момента своего появления и до появления микро-
  процессоров и персональных компьютеров. Практически большинство  программис-
  тов моего поколения, поколения 50-х, так или иначе прошло школу IBM  360/370
  и  мне  кажется  сейчас  уместно  остановиться на некоторых моментах истории
  выч.техники в нашей  стране. Конечно, человек  который провел большую  часть
  своей карьеры  программиста на  IBM 360/370  (которую часто  называют просто
  mainframe, отождествляя  с большими  компьютерами вообще)  не может  быть до
  конца объективным в ее оценке. Oднако сейчас мне по крайней мере есть с  чем
  сравнивать: я  довольно много  работал в  MS-DOS и  Windows и имею некоторое
  представление о UNIX.

Начну с иторических замечаний. Так вот, если к моменту появления IBM 360  раз-
  витие программирования  и вычислительной  техники шло  примерно с пятилетним
  отставанием от США, то после  появления IBM/360 это отставание  стало быстро
  увеличиваться. В 1967 году его можно  было оценить примерно в десять лет.  Я
  могу судить об этом на собственном опыте.

Я окончил математическую школу  в 1967 году и  одним из преподававшихся у  нас
  предметов было программирование (вместо с дипломом об окончании средней шко-
  лы я получил и диплом техника-программиста, по-моему эта специальность тогда
  называлась вычислитель-программист). Так вот  изучали мы ламповые машины  по
  книжке Китова и Криницкого и даже немного работали на Минске-2 в КИИГА.  Ин-
  тересно отметить, что поскольку индексные регистры отсутствовали циклы орга-
  низовывались путем модификации команд. Т.е. в 1967 году уровень развития вы-
  числительный машин и программирования у нас можно было охарактеризовать  как
  отсталый. Парк компьютеров был невелик и состоял, в основном, из ламповых ма-
  шины срежи которых наболее распространенными были M20 (позднее M220 -  тран-
  зисторный вариант M20), Минск-2(c транзисторным вариантом Mинск-22) и разли-
  чные модификации БЭСМ.

Единственным исключением была появившаяся  примерно в это время  транзисторная
  машина БЭСМ-6, которая по своей надежности и техническим параметрам была не-
  сомненно выдающимся достижением. Неслучайно она была рабочей лошадкой космо-
  са и ядерщиков. Мне на ней работать не пришлось и здесь конечно я могу иска-
  зить историческую  картину. Насколько  мне известно  первые машины приходили
  "голые", как впрочем все  отечественные компьютеры, однако со  временем было
  разработано вполне приличное системное программное обеспечение, включая  до-
  статочно полный  набор трансляторов.  Причем были  разработаны и собственные
  языки высокого уровня из которых следует отметить "НЕДИС" транслятор с кото-
  рого был  разработан Владимиром  Гусевым. Для  своего времени  это был очень
  приличный язык (с элементами Симулы-67) c хорошим, синтаксически  ориентиро-
  ванным транслятором. Однако массовый выпуск этих машин налажен не был, и  по
  совокупности технических показателей  системное программное обеспечение  на-
  верное не превосходило системное  программное обеспечение ЕС ЭВМ  (читай IBM
  360). И, безусловно уступало по меньшей мере по таким показателям как  коли-
  чество и качество трансляторов. Вообще, ничего близкого по классу к трансля-
  торам уровня Фортран H, PL/1 opt и PL/1 deb ни на одном из компьютеров, будь
  то БЭСМ, СМ или PC я не видел, хотя транслятор с Фортрана и транслятор с Ал-
  гола разработки ГДР на БЭСМ-6 были ничего. Еще раз подчеркну, что в этой об-
  ласти я многого не знаю, поскольку сам на БЭСМ-6 никогда не работал.  Однако
  по косвенным сведениям (я читал книгу об OC Дубна и общался с коллегами, ра-
  нее работавшими на  этой операционной системе)  реализация мультизадачности,
  время  появления  и  качество  многотерминальных  систем  на  БЭСМ  уступало
  IBM/360.

После школы я поступил в Киевский политехнический институт, а один из моих од-
  ноклассников не поступил и устроился работать в ЦСУ. Так вот они  только-то-
  лько получили Минск-22 - одну из первых советских транзисторных машин.  Про-
  граммировали на ней в основном в абсолютном коде. И это вполне  естественно,
  поскольку на ней было всего 8К слов и Ассемблера как мне помнится в 1967 го-
  ду и в помине не было. Причем программирование в абсолютном коде на  Минске-
  22 практиковалось до конца 70-х  т.е. практически до списания последних  эк-
  земпляров и я знал специалистов утверждавших, что пишут они на нем не хуже и
  не медленнее, чем я на ассемблере. В качестве внешней памяти прямого доступа
  использовалась свободно  висящие куски  широкой магнитной  ленты, которые со
  страшной скоростью протягивались то  взад то вперед. Программы  набивались и
  вводились с бумажной перфоленты.

Другой мой приятель тоже не поступивший в институт работал на БЭСМ в каком-то
  академическом ВЦ.  Ситуация была та же самая. Правда уже были какие-то экс-
  перименты с Алголом, но это была экзотика. Вывод шел на узкопечатающее циф-
  ровое устройство. Кстати  АЦПУ  в  СССР появились довольно поздно и одной и
  проблем при создании первых трансляторов с Алгола была, как ни странно, не-
  возможность  вывода  распечатки.  Придумывались  какие-то цифровые коды для
  каждого слова и т.д.

В институте помнится,  мы изучали машину Мир-1 - одну из первых машин с аппа-
  ратно реализованным транслятором с подмножества алгола. Что-то вроде первых
  машин с бейсиком в ПЗУ, но размером в письменный стол. Сказать, что тогда в
  институте  нас  учили  чему-то  полезному я не могу.  Те,  кто подрабатывал
  где-то на ВЦ, зачастую были куда квалифицированнее преподавателей. По край-
  ней мере,  поскольку я тогда по собственной инициативе выучил Алгол-60 и на
  экзамене написал программу на нем,  а не в коде  МИР-1,  преподаватель  был
  слегка  удивлен  и  похоже поверил мне на слово ;-).  Реально машина больше
  стояла,  чем работала и около нее всегда лежали плоскогубцы для вытягивания
  и вставки плат.  Если она не грузилась,  то прежде всего рукой проводили по
  краю плат.  Если не помогало, то в ход шли плоскогубцы. Так пытались устра-
  нить неконтакт. Никаких устройств ввода мы не использовали. Программа пере-
  бивались полностью каждый раз.  Вывод шел на пишмашинку служившую консолью.
  Она часто ломалась.

После окончания  института я год поработал на Минске-32.  Это была несомненно
  лучшая машина,  чем Минск-22 и на ней были почти нормальные магнитные ленты
  (правда они не всегда читались и долго мотались,  но это была мелочь), нор-
  мальное АЦПУ и даже устройство ввода с перфокарт (а  это  намного  удобнее,
  чем ввод с перфолент, когда из-за ошибки приходится дублировать всю ленту).
  Обладание импортной магнитной лентой Scotch было пределом  мечтаний каждого
  программиста.

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

Нормальным сроком, за который что-то можно было сделать было три часа. Машин-
  ное время было дефицитом и получить время днем  для  сторонней  организации
  было практически невозможно.  Работали поздним вечером или ночью. Именно на
  Минске-32 я увидел первого программиста,  работавшего на  Фортране  (кстати
  это был Александр Боролин). Но поскольку я писал транслятор, Фортран на ме-
  ня особого впечатления не произвел,  зато ЯСК - примитивный  ассемблер  для
  Минск-32, сделанный похоже по  мотивам ассемблера IBM/360, но  без макропро-
  цессора, я освоил хорошо. Стандартного транслятора с Фортрана я на Минске-32
  так и не застал (Александр Боролин работал на "самодельном" Фортране,  напи-
  санном кем-то в ИФВЭ (институте физики высоких энергий).

Первый раз я увидел советский клон IBM/360  - ЕС 1020 где-то в 1974 году.  По-
  мнится таких машин в Киеве тогда  было меньше десятка и машина на  которой я
  работал имела 64К памяти  и то ли один,  то ли два 7  мегабайтных диска. Как
  сейчас помню, что первое впечатление у меня было, что это просто суперкомпь-
  ютер: то что на Минске-32 требовало часа здесь проскакивало за несколько ми-
  нут. Прежде всего потому, что сама машина была намного надежнее. Кроме  того
  магнитный диск это конечно не лента. Ну и устройства ввода с перфокарт  были
  с фотодиодами.  В общем  это явно  было новое  поколение компьютеров с новым
  программным обеспечением.  Час стоил  порядка 50  (на Минске-32  где-то 30 )
  "безналичных" рублей. Использовалась  операционная система DOS.  Позднее по-
  явились машины с 128K и на них начали запускать OS/360. Машина с  мегабайтом
  памяти была по тем временам очень крупной машиной. Аналогично на смену  дис-
  кам 7M постепенно пришли диски 29M, которые к концу 70-х стали наиболее рас-
  пространенными. Обычно на машине стояло 4 таких дисковода, так, что по  объ-
  ему дисковой памяти они были сопоставимы со 120M винчестером. Позднее появи-
  лись диски 100M, 200M и 300M, но они были сравнительной экзотикой.

Хотя это было время  моей юности, я далек  от того, чтобы рисовать  те времена
  розовыми красками. Машинное время  было страшным дефицитом. Выйти  на машину
  неподготовленным, т.е. без исправленных колод перфокарт, без плана работы на
  выделенное время было страшным  расточительством. Такой роскоши как  сейчас,
  когда можно включить машину и сидеть читать журнал не было и в помине.  Аль-
  тернативой режиму разделения времени между пользователями, который  приводил
  к неэффективному использованию техники, но в котором на компьютере хоть уда-
  валось сделать что-то полезное, был так называемый пакетный режим. В больших
  институтах пользователи послабее часто попадали в эту бюрократическую  мясо-
  рубку, в котором работать было  очень тяжело и отладка шла  крайне медленно.
  Т.е пользователь сдавал свою колоду перфокарт дежурному оператору и  получал
  результаты скажем через два часа. Таким образом за день можно было протранс-
  лировать программу три, в лучшем случае четыре раза. Переводились горы бума-
  ги и работать было очень неудобно. Дело усложнялось тем, что одни бюрократи-
  ческие извращения наслаивались на другие и в результате получался полный ма-
  разм. Например в Киевском  институте кибернетики программистов не  пускали к
  устройствам набивки перфокарт,и нужно было сдавать написанные строки  девоч-
  кам операторам которые набивали  их (естественно с ошибками).  и возвращали,
  завернутые в ваш листик. Так голь на выдумки хитра и были умельцы  помнившие
  перфокарточный код  наизусть и  при небольших  исправлениях вырезавшие дырки
  бритвой или затыкали ненужные шелухой  от набивки. Я как и  многие "нормаль-
  ные" (читай, работавшие на крупных хозтемах) пользователи работал на ЕС не в
  пакетном режиме, а в режиме  персонального компьютера. Т.е. в течении  выде-
  ленного мне времени я мог делать на машине что хотел и никто кроме меня  до-
  ступа к машине не имел. Я  даже ставил свой собственный диск с  операционной
  системой. Для упрощения редактирования я написал редактор NEATED, работавший
  с консоли оператора(пишмашинки Consul-260) и имевший по тем временам  доста-
  точно мощную и гибкую  систему команд (в качестве  внутреннего представления
  текста в нем использовался двунаправленный список). Многие работали на маши-
  не небольшими группами (часто вдвоем  или втроем). Это пожалуй был  наиболее
  эффективный режим использования машины.

Кроме того,  надежность EC существенно уступала надежности персоналок и непо-
  ладки порой устранялись несколько суток. Особенно часто сбоила память. Кро-
  ме того иногда не читался диск и появлялась ужасная ошибка
          IEFxxx 131 DCK ERROR... SWAP from 131 TO 132...
  Т.е. предлагалось поменять местами диски на дисководах 131 и 132.  Менял  и
  все повторялось сначала.

И все же нельзя недооценить роль IBM/360 в преодолении нашего отставания.  По-
  скольку программное обеспечение было одно и тоже, перевод любой  иностранной
  книги давал колоссальный эффект. В этот момент на Западе IBM/360 доминирова-
  ла и связанных с этой серией книг было довольно много. Помню в числе  первых
  переводных книг по IBM/360  была книга Джермейн "Программирование  в системе
  IBM 360", так вот она была чуть ли не настольной книгой программистов на ЕС.
  Потом для некоторых было большим  разочарованием узнать что автор -  женщина
  ;-). Издательство Мир  со временем наладило  перевод наиболее ценных  книг с
  опозданием в два-три  года. Примерно к  середине 80-x была  переведена почти
  вся классика, включая монографию Кнута.

Кроме того для тех,  кто знал английский,  была и другая возможность. В ГПНТБ
  была неплохая подборка иностранных книг  и  журналов  по  программированию.
  Поскольку  вначале  помимо документации к компьютеру,  которая представляла
  собой низкого качества с ошибками перевод фирменной документации отпечатан-
  ный на машинке с коряво вписанными английскими словами, литературы было ма-
  ло, это был важный канал. Кроме того в ГПНТБ была картотека переводов и мож-
  но  было  заказать  ксерокопию любого перевода.  Например,  когда я,  как и
  многие другие,  увлекся ПЛ/1 - тогда новым языком,  который был существенно
  больше  чем,  скажем,  Фортран  или Алгол приспособлен к задачам системного
  программирования,  в частности, для написанию трансляторов, то я специально
  ездил  в  Москву,  чтобы скопировать пару книг по ПЛ/1 в ГПНТБ.  Цена копии
  страницы тогда было 3 коп.  и копия книги стоила 10-20 руб.  Зарплата тогда
  была у меня 132 руб.(это были немалые деньги),  так что много я копировать
  не мог.

Несмотря не все вышесказанное степень изоляции от Запада в брежневские времена
  была колоссальной. Достаточно сказать, что даже технические журналы просмат-
  ривались цензурой и страницы с негативными мнениями или фактами об СССР изы-
  мались. Правда иногда цензура давала сбои: один раз в ГПНТБ читая свежий ACM
  Computer Surveys я наткнулся на перепечатку отчета ЦРУ о состоянии  развития
  вычислительной техники в СССР и даже снял с него ксерокопию (а может  просто
  цензоры из КГБ уважали коллег из ЦРУ и принципиально не стали изымать статью
  из журнала :-).

Кстати именно компьютеры IBM/360 сыграли немалую роль в преодолении этой  изо-
  ляции.  Они  также  безусловно  способствовали развалу социализма. Поскольку
  контроль за  использованием АЦПУ  был неполным,  а дефицита  бумаги не было,
  сразу появились  электронные книги,  распространявшиеся на  ленте. Поскольку
  среди моих сервисных программ была программа для распечатки документации под
  названием NEAXTX кто-то набил в ее формате песни Высоцкого. Потом  появились
  книги Стругацких ( почти полное собрание), Булгакова(Собачье сердце,  Мастер
  и Маргарита),  стихи Пастернака,  Мандельштама. В  общем возник  своего рода
  электронный самиздат. Конечно, все это очень не нравилось КГБ, но сделать по
  сути ничего было нельзя.

Примерно в 78 году на ЕС появились терминалы и все бросились писать многотер-
  минальные комплексы. Cначала появился КДО. Потом он был быстро вытеснен бо-
  лее удобными и мощными системами PRIMUS,  JEC,  FOCUS,  Jessy,  OKO, Argus,
  Vector.  Поскольку документации практически не было,  тут уже пришлось вле-
  зать глубоко в операционную систему и в результате уровень системного прог-
  раммирования существенно возрос и стали возникать своего рода  школы  прог-
  раммирования.  Одной  из наиболее известных была так называемая "железнодо-
  рожная школа",  сложившаяся вокруг МИИТа.  Ее ядром были программисты  ПКТБ
  АСУЖТ  - те,  кто писал систему резервирования железнодорожных билетов Экс-
  пресс (одну из немногих успешно написанных и  работавших  систем  реального
  времени на ЕС ЭВМ).  Это прежде всего Леонид Нейштат, Владимир Ермаков, Ва-
  лентин Черняк (который впрочем, половину времени посвящал доработке Примуса
  M - широко известной в то время модификации многотерминальной системы, раз-
  работанной в МФТИ, а потом дорабатывавшаяся и модифицировавшаяся Черняком и
  другими программистами).  Отмечу,  что во "времена перестройки и гласности"
  продажа Примуса через кооперативы была  некоторое  время  очень  прибыльным
  бизнесом  - пожалуй Примус был первым удачным коммерческим программным про-
  дуктом в бывшем СССР.

В целом можно констатировать, что техника была достаточно совместимая, выпус-
  калось  ее много,  а программное обеспечения практически идентичным так что
  полученные знания можно было применять непосредственно.  Все это привело  к
  тому,  что в СССР появилось достаточно много программистов сравнительно вы-
  сокого класса.

Мне кажется,  что благодаря ЕС ЭВМ где-то в районе 1985-87 года, уровень раз-
  вития советского программирования был наиболее высок, степень отставания от
  Запада минимальна, а уровень разработки программ порой был не хуже, а иног-
  да и чуть получше,  чем на Западе.  Кстати в СССР,  в отличие от США широко
  использовался ПЛ/1 - несомненно наиболее удачный язык среди реализованных в
  IBM  360/370  и  имевший  исключительно талантливо написанные трансляторы -
  настоящие шедевры системного программирования.  В Ленинграде и в Киеве были
  написаны  реально  работающие  трансляторы с Алгол-68 - очень интересного и
  сложного языка, который к сожалению не получил распространения. Были созда-
  ны и некоторые отечественные инструментальные средства для ПЛ/1.  Например,
  Владимир Жорницкий написан измеритель, я написан примитивный комплекс прог-
  рамм для программистов, работающих на ПЛ/1 (куда входил претти-принтер, ре-
  дактор,  программа печати документации и ряд других более мелких программ).
  Весьма высок был уровень программирования на ассемблере.  Были созданы мощ-
  ные наборы макрокоманд структурного программирования (я помню две: Гусева и
  модификацию макрокоманд IBM,  созданную в ПКТБ АСУЖТ).  Был написан ряд ди-
  зассемблеров,  среди которых самым мощным был дизассемблер  В.Черняка.  Был
  создан  ряд удачных утилит.  Среди утилит,  разработанных на ассемблере со-
  ветскими программистами и получивших  значительное  распространение  отмечу
  систему обслуживания магнитных лент MATA Леонида Бунича. По состоянию, ска-
  жем, на 1983 год она была явно на уровне или выше мирового уровня для свое-
  го  класса программ и,  кстати,  до сих пор смотрится очень неплохо на фоне
  своих западных аналогов. Леонид Бунич также организовал в Москве неформаль-
  ный семинар по обмену опытом для программистов на ЕС ЭВМ, просуществовавший
  примерно до 1990 года и потом превратившийся уже в чисто семинар по  персо-
  нальным компьютерам. Другой известной утилитой была программа TestDisk Вла-
  димира Ермакова - специалиста понимающего супервизор ввода/вывода  наверное
  на  уровне  лучших  специалистов из IBM.  Вообще утилиты IBM были настолько
  спартанскими (если не выразиться резче) что практически любая  альтернатива
  была  удобнее.  Кстати этого никак не скажешь о трансляторах.  В результате
  много усилий было потрачено на создание библиотек процедур на JCL  -  языке
  управления заданиями OS/360 и вспомогательных программ. Широко известны бы-
  ли библиотеки ПКТБ АСУЖТ,  библиотека Гусева (ИК АН УССР) и библиотека Лео-
  нида Бунича на базе MACROIN - чего-то вроде 4DOS для ЕС ЭВМ.

Наиболее интересной и  интенсивно развивавшейся областью  были базы данных.  В
  основном эксплуатировались адаптированные базы, но были и отечественные раз-
  работки. Среди последних следует отметить ИНЕС и Пальму.

Разработка сложных программ на базе чужой операционной системы была уникальна
  и  хотя приводила к колоссальной потере времени и сил,  но с другой стороны
  позволяла познакомиться и понять методы и алгоритмы слабо доступные даже на
  Западе. Например обнаруживал человек ошибку в BTAM. Ну не звонить же в IBM.
  Надо разбираться самому. И ничего, разбирались.

С появлением персоналок ЕС быстро потеряли привлекательность и их  стали  де-
  монтировать.  Где-то к 1991 году развитие этой серии прекратилось, в с рас-
  падом СССР прекратилось и производство компьютеров серии EC.  Последней мо-
  делью  была  по-моему  EC 1068.  Многие программисты перешли на персоналки,
  часть специалистов высокого класса эмигрировала.

Я считаю, что такое резкое свертывание применения ЕС ЭВМ было большой потерей
  для уровня программирования в нашей стране(точнее теперь странах) и в какой-
  то мере нанесло невосполнимый ущерб.

После этого краткого очерка развития  системы IBM 360/370 в СССР  я постараюсь
  кратко сформулировать основные аспекты влияния системы 360 на системное про-
  граммирование в целом. Система  IBM/360 была не только  удачной промышленной
  архитектурой, но  и полигоном  исследований в  области операционных  систем,
  трансляторов и, в особенности баз данных. Мощные исследовательские подразде-
  ления IBM в это время были настоящими академиями в области  программирования
  и аппаратного обеспечения. Рискну заметить,  что вклад IBM в системное  про-
  граммирование значительно превышает, скажем, вклад создателей UNIX. Мне  ка-
  жется, что применительно к системе 360/370 можно говорить о следующих аспек-
  тах этого влияния:

  - Понятие единой архитектуры (абстрактной машины идентично реализованной  на
    разных аппаратных платформах)  развитое затем DEC(созданной  специалистами
    ушедшими из IBM) и Intel(фирмой, созданной с участием IBM).

  - Байтовая адресация памяти, иерархия байт, полуслово, слово, двойное слово.
    с целым числом байтов в каждой единице.

  - Первая   универсальная  промышленная   архитектура  типа   CISC  (complex
    instruction set computers) с командами переменной длины (до IBM/360 компь-
    ютеры для коммерчеких применений и компьютеры для научных применений отли-
    чались архитектурой и системами команд)

  - Микропрограммная реализация базисной архитектуры.

  - Первая успешная промышленная реализация сложной мультизадачной  многополь-
    зовательской операционной системы для новой, еще не освоенной  архитектуры
    (это был действительно исключительно сложный для того времени проект кото-
    рым руководил исключительно талантливый специалист Фредерик  Брукс-младший
    (кстати потом написавший о своем опыте замечательную книгу "Как  создаются
    большие программные комплексы" - есть русский перевод). Сравнивая OS/360 и
    MS-DOS  нельзя  не  прийти  к  выводу,  что  в области операционных систем
    Microsoft была и остается реакционной силой.

  - Открытость кода (следует отметить, что OS/360 и все ее компоненты примерно
    до 1985 года были доступны в исходный текстах). Кстати это был один из мо-
    ментов, облегчивших создание серии EС в СССР;

  -  Идея  и  реализация  блестящей  по  замыслу  концепции  виртуальных машин
    (VM/CMS). Конечно те извращения, когда  под VM заставляли гонять MVT  я не
    оправдываю, но в научном плане это был безусловно значительный шаг.

  -  Реализация  тандема  из  сверхбольшой мультизадачной операционной системы
    (способная обслуживать  тысячи терминалов  исключительно надежная  рабочая
    лошадка MVS) и гибкой системы, предназначенной, в основном, для разработки
    программ (VM/CMS).

  - Новые идеи и фундаментальные достижения в области построения  оптимизирую-
    щих трансляторов, с языков высокого уровня (Фортран H, PL/1 Opt).

  - Новые  идеи и  методы построения  отладочных трансляторов  (PL/1 Debugging
    compiler это настоящий шедевр).

  - Новые  языки  реализованные  и получившие распространение на этой системе
    (ПЛ/1, REXX, макроязык ассемблера BAL, в области баз данных - SQL).

  - Огромный  вклад в  развитие СУБД.  Промышленные СУБД  (IMS, Adabas, DB/2).
    Язык SQL.

  - Концепция языка управления заданиями (JCL) и создание первого переносимого
    языка управления заданиями высокого уровня (REXX)

  - Реализация  логической  независимости  файлов  от устройств и программ от
    файлов.

  - Первая реализация концепции использования мощного языка управления  зада-
    ниями в качестве макроязыка системного редактора,  в также интеграции ре-
    дактора в операционную систему как универсального  средства  ввода/вывода
    системных команд. Первая реализация средств выборочного редактирования
    (slicing) в штатном редакторе операционной системы (команда ALL XEDIT).

  - Магистральное программирование (pipeline) как базисное средство ввода/вы-
    вода языка управления заданиями (уровень реализации pipeline в CMS и сте-
    пень интеграции средств pipeline в REXX безусловно являются уникальными и
    существенно превосходят UNIX).

В заключение мне бы хотелось отметить важность языка  REXX  и  магистрального
  программирования того уровня на котором оно реализовано в CMS,  а также ис-
  пользование языка управления заданиями в качестве макроязыка  редактора. На
  этом вопросе я возможно остановлюсь в сентябрьском номере. REXX это одна из
  сильных сторон OS/2 и только из-за этого ее стоит на  мой  взгляд  попробо-
  вать,  поскольку шансов поработать на CMS у большинства читателей, по-види-
  мому,  нет. Кстати, хотя UNIX и CMS имеют общего предка, и обе операционные
  системы создавались разработчиками прежде всего для своих собственных нужд,
  а не как коммерческий продукт,  я хочу подчеркнуть,  что уровень реализации
  pipeline в СMS значительно выше.  Вообще судьба играет операционными систе-
  мами: я честно говоря не понимаю зачем IBM понадобился Билл Гейтс с чужой и
  достаточно слабой MS-DOS,  когда у фирмы было собственная однопользователь-
  ская система по уровню на голову  выше.  Ведь  концептуально  VM/CMS  можно
  рассматривать  как попытку реализации локальной сети виртуальных персональ-
  ных компьютеров (типа Novell) на одном mainframe  компьютере.  Программисты
  безусловно  много потеряли от того,  что CMS осталась только на mainframe и
  что концепция виртуальных машин не получила развития на PC.


        С уважением,                                               Н.Безруков

6 июня 1994 г.
