Пионеры разработки: внедрение АСУ 38 лет назад
- вторник, 24 декабря 2024 г. в 00:00:13
Короче, има…имаж.. Влад, как то слово? Имаджинируйте? Придумают тоже. Короче, представляйте. Башкирия. Село Зигаза, 600 человек. 1970-е годы. Войны уже давно нет, особого голода тоже, но все же — родившись в селе на 600 человек, что тебе светит? Поработать дояркой в колхозе, выскочить замуж за пастуха (за тракториста не светило по причине отсутствия тракторов), да нарожать детей побольше.
Машку, мою подругу это устраивало, а меня нет. Просто так взять и уехать нельзя, и единственный путь — куда-нибудь поступить. Получилось в Уфу, в УГНТУ — Уфимский государственный нефтяной технический университет.
Не уверена, что получилось бы и туда, но там была специальность АСУ в нефтяной промышленности, куда по какой-то причине был не очень большой конкурс. Видимо, по причине того, что никто не понимал, а что же это такое, что за системы управления.
Так я вошла в айти. Учиться было интересно, нашей кафедре в безраздельное пользование была отдана новенькая ЕС-1022 — это такая копия айбиэмовской System/360, здоровенная дура на пол-зала. Безраздельно наша она была конечно не очень долго, все остальные обнаружили, что на ней можно проводить расчеты и загрузили нашу кафедру своими задачками, к концу учебы поставили еще одну.
Но для своих кафедры время находилось для студенческих программ, а как учиться-то иначе. Производительность ее, по современным меркам, смешная. Ее даже не со смартфонами сравнивать надо, и даже не с первыми нокиями.. Сергееей, а как там твои контроллеры назывались? Атмега, во. Вот короче у атмег этих производительность 1 миллион операций на мегагерц тактовой частоты. 8 МГц, 8 мипс. А тут 0.2 MIPS. Представьте, да?
Вот это штука с фалангу пальца размером — и наш целый зал, который в 40 раз слабее.
Поначалу там не было даже терминалов, весь ввод с перфокарт, пишешь в тетрадке логику, учитывая все возможности машины, потом переводишь в машинный код (ассемблером были мы сами), потом машинкой набиваешь это на перфокартах, сдаешь пачечку, через пару часов возвращаешься, забираешь обратно пачку и лист вывода и обнаруживаешь на нем ошибку, даже не в логике, а просто в набивке перфокарт.
Находишь ошибку, перебиваешь перфокарту (или иногда можно было выбить отверстие на уже существующей), сдаешь заново, через пару часов видишь ошибку, на этот раз в логике… Отладка, растянутая на пять дней, как вам?
Потом терминалы появились, и это прям была манна небесная, если удавалось получить время за ними, время отладки сокращалось кардинально. В конце-концов учеба закончилась, и нас ждало…
После учебы нас ждало распределение. Нет, не так. Ждало Распределение, с большой буквы. Те кто поблатнее, устраивались в Уфе, недалеко от семьи, тем кому не повезло — уезжали в глушь. Мне не повезло. Меня и двух девушек из нашей группы отправили в Андижан, в филиал Союзнефтеавтоматики. Андижан — это УССР, Узбекская Социалистическая и так далее. Сейчас вообще другая страна, а тогда это было одним большим СССР. Но глушью. Маленький городок, одни узбеки, рядом месторождения нефти и газа. Нам в целом были рады — рабочих много, а людей с образованием мало. А тут худо-бедно, но специалисты.
Тут мы узнали первые шуточки про то, что когда ты говоришь, из какого отдела, нельзя говорить “с”, надо обязательно говорить “из”.
Начальником отдела АСУ был такой хитрый старый еврей, который за свою жизнь, видимо, имел опыт работы с молодыми специалистами. Мы пришли и увидели много-много компьютеров со свободным доступом к ним. Это были еще не персоналки, вроде СМ 1420, какая-то вариация на тему PDP-11.
Там уже был мультиплексор, и было полно терминалов, садись и делай что хочешь, никакого ожидания в очереди. И БЫЛИ ИГРЫ! Понимаете, игры! Много игр! Тетрис, какие-то пинг-понги, рогалики, частично на русском, частично на аглийском, шериф, лабиринты, стартрек, что-то еще.. Вся эта огромная машина сразу обрела какой-то смысл.
Иии.. Про нас все забыли. Мы приходили на работу, как… ну, как на работу. Играли. Уходили вечером. Получали зарплату. Заданий никаких не получали. Играли, играли, играли. Поставили всевозможные рекорды, попробовали все доступные игры. Не помню, месяца через полтора мы все-таки дошли до начальства, и после вопроса “а работать когда?” нас загрузили таким количеством работы, что мы за последующие пару недель, наверное, отработали эти два месяца бездельничания с лихвой. И главное — добровольно, сами же попросили. Уже потом нам рассказали, что начальник строго-настрого всем запретил доебываться до нас и мешать нам в наших занятиях, пока сами не попросим. Стратегия сработала на все сто.
Первая работа — это система управления бурением. Узбекистан, жара, степь. Район нефтедобычи. Сейсморазведка прибежала, повзрывала, потыкала карандашом в карту, сказала “бурите тут”, убежали на другой район. В центре УБР — управление буровых работ, вокруг раскиданы пара десятков скважин.
Пара парней из нашего отдела делали само железо — какие-то контроллеры которые на самом буре стоят, собирают телеметрию, и передают в УБР, а я писала ПО, которое в управлении эту информацию собирает, определяет текущий статус — подьем, спуск, бурение, авария, пишет все это в БД на ленту, печатает архивные данные каждый день и рисует на экране картинку псевдографикой — сначала все буровые вышки в районе, каждую можно было выбрать, и посмотреть для нее состояния по кусту (так называется набор скважин), для каждой скважины — глубина, статус и так далее. Рабочие в УБР радовались как дети.
Все это писалось на ассемблере, суммарно ушло где-то порядка года на все, после чего осталась только поддержка системы. У нас появилось свободное время, и тут пришел ОН…
После того, как ЭВМ появились, но еще не стояли в любой компании, зарплата стала считаться не вручную на каждом предприятии, а централизовано.
Были такие ИВЦ — Информационно-вычислительные центры, бухгалтерия заносила данные в специальные формы, они подшивались в книги, свозились в ИВЦ и там это обсчитывалось и печатались всякие ведомости, отчеты и так далее. И вот как-то, не помню, по какой причине, ИВЦ перестала работать.
Кто-то умный из начальников, сопоставив факты свободных сотрудников и машин, предложил написать расчет зарплаты самим. Мол, и лучше нашу специфику учтем, и зависеть ни от кого не будем, все равно же машины есть. Правда, у нас на этом было всего пол-месяца, приближалась дата зарплаты. Мы были молодые и глупые, и когда нас спросили, осилим или нет, без особых раздумий ответили “да”. Как выяснилось чуть позже, работы там было месяца на три.
Это был уже Си, еще даже не ANSI C, стандарт которого выпустили лишь через несколько лет, а вот прям K&R C, по самой первой книге разработчиков.
Ну, в целом все закончилось благополучно — за пол-месяца мы сделали ту часть работа, которая позволила в полуручном режиме рассчитать и выдать зарплату. Мы даже получили благодарность, хотя по-хорошему, должны были выговор — за откровенную дурость в расчете сроков. Где-то за полгода мы дописали все остальное, сделав уже красиво и удобно. И снова стало нечего делать…
Оставался год распределения, никаких больших проектов нам не давали, т.к. мы решили, что оставаться тут не будем, так что мы немного были заняты тем, что поддерживали две предыдущие систему, но в основном мы.. печатали.
У нас были огроменные принтеры с валами, АЦПУ — Алфавитно-Цифровые Печатающие Устройства. Берешь текст (если нет, то его надо вбить вручную с книжки), выводишь на печать (главное не забыть снять шестерню счетчика бумаги на время печати), получаешь (ооочень быстро и оооочень шумно) огроменный свиток метров на сто, разрезаешь его на странички, сшиваешь в книжку, читаешь сам, даешь друзьям. Повторные экземпляры можно было и продать.
Что только не печатали! «Мастера и Маргариту», «Собачье сердце», «Камасутру», «Ветку персика», «Сказку о тройке», «Остров Крым», «Москва-Петушки», стихи Цветаевой, тексты песен и биографию Высоцкого — причем тексты песен были с кучей ошибок.
Узнать самиздат, печатаемый на АЦПУ было легко по «прыгающим буквам» — из-за технологии печати буквы в строке были на разной высоте.
Закончилось распределение, и я уехала в Душанбе, это рядом (ну, относительно), но уже Таджикская СССР. Меня позвали в ТПП ВТИ (Таджикское производственное предприятие вычислительной техники и информатики), потому что у них с нами были какие-то совместные работы, и им хотелось переманить меня к себе. Обещали интересные проекты и хорошую зарплату (и ведь не обманули!).
ТПП ВТИ — это был такой, как сейчас называют, интегратор. Только государственный. Время ведь какое было.. Хочется вам АСУ у себя на предприятии, но ни кучи фирм, где можно купить любые компьютеры, ни торрентов со взломанными 1С нет. Вы приходили в это самое ТПП ВТИ, оно вам продавало ЭВМ, заключало вместе с этим договор на обучение сотрудников и на написание ПО для вас. Выбор, впрочем, был невелик: рынок спец софта находился в зачаточном состоянии, и об универсальности этого ПО пока не шло и речи, софт писался под конкретную ЭВМ и под конкретную задачу. Где-то на западе возникали ростки IBM PC и софт для них, но в СССР было до этого еще далеко.
Собственно, мы и сами писали все с нуля, изредка только переиспользуя код, но тоже написанный нами или нашими коллегами. Никакого гитхаба с тонной разных библиотек.
Забавно то, что одной из проблем было то, что никто не знал, сколько все-таки брать денег за то, что мы делали. Опыта не было ни у руководств всех этих предприятий — с компьютерами они в большинстве своем имели дело первый раз в жизни. Опыта не было у нас — совершенно разные задачи и объёмы работ.
Конечно, мы выкручивались — брали стоимость часа условного специалиста, добавляли наценку нашего ТПП ВТИ (ему уходило 60% от заработка, а 40% оставались нам), умножали на объем работ и некий «коэффициент наглости», который зависел от множества условий, но в первую очередь, конечно, от наглости человека.
Щас я понимаю, что просить можно было и больше — внедрение экономило заводам на пару порядков в год больше, чем единовременно платилось за систему. Но мы были молодые и глупые, с вложенными институтом и комсомолом светлыми коммунистическими идеалами и понятиями из разряда «каждому — по потребностям». Поэтому мы не брали денег больше, чем могли потратить. Старшие коллеги, уже не обремененные такими мыслями, брали и в 10 раз больше, и за год покупали квартиру. Впрочем, я и так тогда зарабатывала в несколько раз больше, чем мои родители вместе взятые. На момент 1989 года в месяц я получала 400-600 рублей, а квартира стоила 5000 рублей. Для примера, примерно в тех же же временах, телевизор стоил 700 рублей, холодильник — 250, видеомагнитофон — 1200, а джинсы — 100 рублей.
Иногда были совершенные непонимания, правда. Например, пришли из милиции с заказом на базу данных. Они хотели универсальную бд — чтобы там и преступники были, и открытые дела, и сотрудники их, и все остальное, полный перевод в цифру всей работы. Только на то, чтобы понять структуру и смысл того, что они хотели сделать и оформить это в виде какого-то ТЗ ушло около недели.
Когда мы начали писать саму программу и нам понадобились данные, выяснилось, что базу сотрудников, хранящуюся в виде бумажного каталога они… не разрешают никуда переносить. То есть вообще, никуда, она должна была остаться в единственном экземпляре в виде бумажного каталога и точка.
Все попытки объяснить им, что эта информация нужна для создания базы разбивались о каменную стену непонимания: эта информация секретна и отдавать ее вам мы не будем. Как будет работать программа? А мы откуда знаем? Программисты — вы, вот вы и придумайте.
Взаимопонимания добиться не удалось, пришлось уйти оттуда практически в слезах — пол-месяца работы ушла в никуда, и за нее естественно не заплатили.
Но чаще всего руководство было вполне адекватными людьми, которым можно было объяснить (правда, иногда обьяснять приходилось долго), как работает компьютер, и, что важнее, они могли объяснить, как должна работать программа.
Хорошо запомнилась кондитерская фабрика — здание в центре города, милый понимающий директор, простой проект — база данных с рецептурами и количествами ингредиентов на складах и учетом выпускаемой продукции. В конце каждого рабочего дня меня останавливали на выходе и вручали мешочек на пару кг с конфетами фабрики. Каждый, мать его, день.
Пока я работала над этим проектом, конфеты на столе не переводились — несмотря на ежевечерние чаепития со всеми соседями.
Честно говоря, сделать эту базу можно было за неделю. Я работала три месяца. После этого я не смогла найти ни одной ошибки, которую можно было бы исправить и не одной функции, которую можно было улучшить, программа и база данных были вылизаны до кристально ясной структуры и мне пришлось покинуть сие благословенное место. Еще месяц ушел на то, чтобы доесть накопленные запасы конфет, да.
Как-то один мой коллега ушел в отпуск, и мне пришлось взяться за "его" проект, когда в нем возникла какая-то ошибка. Ошибку я быстро нашла и исправила, но взгляд зацепился за какую-то неоптимальность в программе, что-то уровня "проходимся по массиву десять раз подряд, хотя можно сделать все за один проход". Исправила это место, исправила еще пару подобных штук, и программа начала работать на порядок быстрее, бухгалтерии той компании очень понравилось, мне заплатили премию.
А после возвращения из отпуска этот коллега на меня до смерти обиделся: у него были планы в течении года постепенно улучшать программу, получая зарплату за каждое улучшение, а ему за три дня работы сломала эти замечательные планы. Пришлось неделю сидеть и искать места для оптимизации уже по-настоящему, чтобы он перестал на меня дуться.
Но самым частым клиентом были автобазы и автотресты со всей республики (Таджикской ССР). Им постоянно надо было печатать маршрутные листы, считать амортизацию машин, расход топлива, зарплату водителям, и так далее. В разработке там не было ничего сложного, и с какого-то момента мы их клепали как пирожки, даже написали какую-то базовую библиотеку, которая все это делала, и просто дописывали к ней специфические функции.
Но в этих проектах меня каждый раз веселила реакция людей: после внедрения машинка-принтер брала и печатала то, на что раньше уходили дни и недели работы целого отдела.
Дыр-дыр-дыр, и готовы маршрутные листы на весь автопарк на неделю вперед с вписанными путями, с километражем, с расходом топлива и посчитанной до копеек зарплатой водителям.
Это вот сейчас воспринимается как нормальное и даже должное, а для людей того времени это был действительно шок - машина размером со шкаф и два человека заменяли несколько отделов с десятками людей, которые трудились месяцами. Машины казались чем-то сакральным, а программисты, способные их усмирить - почти небожителями. Это было хорошее время, которое длилось до самого распада союза. В 1992 в уже тогда независимом Таджикистане началась гражданская война, и нам пришлось бросая все, продав квартиру за бесценок, с пятимесячным ребенком на руках, перебираться в Россию, в любое место, где нашлась бы работа.
Работа нашлась в приморье, в городе Уссурийск, на УКК — Уссурийском картонном комбинате.
С ним оказались связаны следующие почти 20 лет моей жизни, и это отдельная история про мс аксесс, фокспро, расчет раскроя и гофрирования, про ресторанчик главбуха, и многое другое.
Влад, давай я тебе потом еще порассказываю про это, хорошо? Поздно уже, почти час ночи.
Эта статья лежала в черновиках, постепенно дописываясь на основе диалогов с моей мамой, когда ей вспоминалась какая-нибудь интересная история. Статья пребывала в статусе дописывания настолько долго, что мне пришлось сейчас добавить к заголовку без малого десять лет, чтобы сделать его актуальным.
Две недели назад она умерла, совсем чуть-чуть не дожив до своих 63 лет, так что статья выходит в таком виде, в каком она есть сейчас: дописать еще хоть что-нибудь не представляется возможным.
Я не претендую на абсолютную достоверность и точность, считайте это развлекательным чтивом, набором баек из тех времен.
И это... мне почему-то кажется, она бы хотела видеть в комментариях такие же байки, а не царство скорби и уныния :)