6+
Сегодня:
18 Ноября

  • Строгий подход

    2014-09-25

    А в нашем институте специалисты этой сферы появились в 56-м году, еще до создания города. Сейчас за ними тянется длинный исторический шлейф.

    — Я программист старой школы. Воспитан на идеях Андрея Ершова и нашего Леганькова. О текущем состоянии дел в этой области мне рассуждать трудно, — предупреждал меня Вячеслав Петрович Соколов, когда мы договаривались о встрече. — Мне нелегко воспринимать результаты разработок молодого поколения.
    — Почему? — удивилась я.
    — Увлекаются "хитрыми штучками" и забывают о простоте построения алгоритмов. Копируют западную моду, забывая о нашей, советской, школе. Ко всему прочему все эти хакеры современные, они ведь могут делать удивительные вещи, потрясающе знают внутренности программ, а почему-то ничего не созидают, не делают ничего полезного для общества.

    Естественно, после такого предисловия разговор с начальником лаборатории РФЯЦ — ВНИИТФ долго простирался в плоскости 60-х годов. Он рассказал, как еще в школе попал в спецкласс с ориентацией на программирование. Как их курировали специалисты вычислительного центра НИИ тяжелого машиностроения. Как начиная уже с 9-го класса ребята учили высшую математику. Как после выпуска он рассчитывал для отдела главного конструктора Уралмашзавода скорость поворота стрелы шагающего экскаватора (ее длина больше 100 метров) и пытался вычислить оптимальные режимы ее движения. И, наконец, как попал в ЗАТО.

    Набиравшие популярность ЭВМ и первые программисты "поставлялись" туда, где решали наиболее значительные для страны задачи: на крупные промышленные и оборонные предприятия. Так в Снежинске появилась своя плеяда системщиков. 

    — Понравилось ли Вам работать в нашем ядерном центре, когда попали сюда? — спрашиваю Вячеслава Петровича.

    — Программы приходилось писать на машинном языке. Это тоже было интересно. Сейчас, к примеру, распределение памяти динамическое. Где хранятся файлы на вашем компьютере? Куда загружается исполняемый модуль? Как замещается кэш, временные файлы? Вы ничего этого не знаете, — резюмирует собеседник. — А тогда планированием памяти занимались вручную. Специалисту выдавали большой лист, где были обозначены квадратики-ячейки, и он писал: с 10-й по 20-ю 
    клетку — это будут данные, дальше — размещение программы и так далее. И только после того, как все спланируешь, можно было подходить к машине, и она выполняла все указания по плану. Тогда же во всей стране и в институте в частности начали разрабатывать автоматизированные системы программирования.

    — Это чтобы перфокарты и перфоленты не использовать, дырочки не прокалывать?
    — Дело было даже не в этом. Машина ведь понимает только цифры. Хотели от цифр перейти к условным обозначениям, перейти на мнемокоды, чтобы и команды, и ячейки обозначались буквами, переменными. А в дальнейшем сделать так, чтобы программы вводились осмысленно и записывались почти на естественном, литературном языке. Именно так появились трансляторы с языков программирования. Они должны были переводить "слова" в коды машины. 

    — Как сложно: язык описывается другим языком на другом языке… 
    — Ну а как иначе? Грамматика и синтаксис русского — это те же правила написания кода. Когда говорим, мы попутно определяем, что обозначает каждая конкретная языковая единица, какими характеристиками она обладает, какую роль играет в предложении или в тексте, как связана с другими словами. Из таких единиц получается рассказ. Он передает идею, смысл и ведет к какому-то выводу. То же самое и программа: производит вычисления по правилам и выдает результат.

    — С помощью таких образных сравнений понять информатику гораздо легче!
    — Я всегда очень любил свою профессию и понимал, что за ней будущее. Сейчас ведь все общаются с вычислительными средствами, ну, в той или иной степени. Я ходил на встречи со школьниками и рассказывал им о том, какие умные аппараты могут быть: стиральные машины, "умные дома", которые только недавно реализованы, хотя были возможны и в те годы, правда, вышли бы очень дорогими. Я учил ребят основам алгоритмизации, мы описывали с помощью блок-схем сказки "Колобок", "Репка", "Белоснежка и семь гномов". Там же все действия очень четко прописаны: что предпринимает королева, что делает принцесса. К зеркалу обращаются с вопросами. Их мы обозначали как условия…

    — Помню, как эти блок-схемы мы рисовали в школе, абсолютно ничего не понимая. Это был просто механический труд. Но я утешала себя тем, что программировать могут только 10% населения земного шара, потому что здесь нужен особый склад ума.
    — Совершенно верно. Я во время своей учебы в университете видел, как блестящие математики, которые занимались алгеброй, геометрией, математической физикой, в программировании испытывали какой-то шок. Один из таких студентов на столе в аудитории нацарапал: "Здесь такой-то сдал с третьего раза экзамен по программированию". Ведь машина — это тупая вещь, которая сама ничего выдумать не может, а делает только то и так, как это ей объяснил человек. С ней нужно быть очень точным. Не должно быть никакой двусмысленности, упрощений, неопределенности. И вот эта строгость подхода, она действительно не всем по силам.

    — Сколько специалистов сегодня занимается программированием в нашем институте? 
    — Думаю, с учетом всех подразделений института где-нибудь процентов двадцать от всего штата связаны с разработкой или использованием программ. Непосредственно написанием кодов занимаются около тысячи человек. Что уж говорить, специалистов у нас много. Сейчас вы­игрывают те, кто, используя свой собственный опыт и наработки других организаций, создают что-то новое и объединяют это с другими системами. Нужно, чтобы в работе участвовали и физики, и химики, и технологи. Организовать их очень тяжело. Поэтому крупные новые программные комплексы появляются очень редко. Сами, наверное, сталкивались с бета-версиями, когда вам предоставляют возможность попробовать какой-то продукт, например, подретушировать фотографии, провести расчеты. Но в обмен за такую возможность просят сообщить, какие дефекты и недостатки были обнаружены в программах. Понимаете, никакая крупная организация сейчас не может работать без такой помощи и привлечения большого количества людей.

    — Кого же сейчас больше — молодых специалистов или "аксакалов"?
    — Сотрудники института, в основном, либо молодые, в возрасте 30 с небольшим лет, либо уже за 50. Прослойка с 35 до 45 очень тонкая. Отсюда и трудности: вынуждены набирать много молодежи, обучать ее, но общего языка у представителей разных поколений нет, потому что сильно изменилась профессиональная среда. 

    — По уровню знаний специалисты старой и новой школы сильно отличаются?
    — Лет 40 назад был провозглашен главный принцип программирования: "Будь проще, дурачок". Смысл его в том, что никогда не нужно использовать всю мощь имеющихся средств и языков программирования. Твоя работа должна быть организована просто — для того, чтобы ее мог понять каждый член огромного коллектива. А нынешние выпускники вузов этого зачастую не понимают. Наши молодые специалисты, как и везде, амбициозны, считают, что все могут сделать сами, ни в ком не нуждаются и думают, что сейчас перевернут весь мир. Хотя по уровню знаний зачастую равны продвинутым пользователям. Они знают языки программирования, но создавать алгоритмы того же Колобка или Белоснежки не считают необходимым. Только через 5-7 лет, решая практические задачи, они доходят до понимания сути профессии.

    — А какие задачи сейчас решают программисты ядерного центра?
    — Раньше мы занимались конкретными, узкими вопросами и многое упрощали: была возможность проверить результаты расчетов на ЭВМ с помощью экспериментов. Сейчас проведение физических опытов либо очень дорого, либо сложно и небезопасно. Ядерные испытания запрещены. Поэтому приходится разрабатывать программные комплексы, описывающие детально все физические процессы, протекающие в технических системах, в том числе при взрыве ядерного устройства. Но вне зависимости от типа работы все наши усилия всегда были направлены по двум руслам: повышение точности описания процессов, реализованных в программах, и ускорение расчетов. Первые вычисления, которые проводились на БЭСМ-6 (Большая электронно-счетная машина — первая суперэвм на полупроводниковых транзисторах — прим. ред.), иногда проходили месяцами. Сейчас хотелось бы получать результат в течение одного дня. 

    — А как же наш суперкомпьютер "Зубр"? Он как долго считает?
    — На самом деле он слабенький по современным меркам. В две тысячи раз медленнее, чем самая мощная машина в мире. Она разработана в Китае и имеет быстродействие около 50 петафлопс, то есть выполняет примерно пятьдесят
    тысяч триллионов операций в секунду.

    — И в таких машинах действительно есть необходимость?
    — Конечно. Наш институт занимается массовым производством суперкомпьютеров небольшой мощности, поставляем их в некоторые институты Росатома. Да сейчас и в любой другой отрасли прежде чем разработать какую-то конструкцию, будь то космический аппарат или автомобиль, ее все равно описывают с помощью информационной модели. Уже сейчас можно сказать, что программисты за полвека стали незаменимы.

    Марина Емелина

    30

АРХИВ

Выберите номер:

Интервью