День Оберона 2017: серьёзный шаг вперёд

Проект Информатика-21 уже в четвёртый раз собирает участников «Дня Оберона» в Москве в стенах института ядерных исследований РАН, поэтому уже смело можно говорить об установившейся традиции ежегодного обмена опытом между участниками Оберон-сообщества.

Фёдор Васильевич Ткачёв начал с рассказа о неофициальном визите Никлауса Вирта в троицкий лицей «Байтик», организованном усилиями Информатики-21. Гости, в числе которых были приехавшие на встречу профессиональные программисты, обсуждали применение Оберон-языков для обучения программированию.

На фото в помещении Байтика тьюринговский лауреат стоит на фоне стены с памятными дощечками от знаменитых посетителей центра. Николай Вальтерович (так профессор Вирт называет себя по-русски) тоже оставил свои пожелания учащимся:


(фото: Владимир Миловидов)

Последнее фото в первом ряду — автор Оберона присоединился к флэшмобу-импровизации встречающих его представителей ИЯИ и РОСАТОМа, которые и в ожидании опаздывающего самолёта не могут не думать о деле:

Выбор первого языка программирования оказывает решающее значение на результат усвоения учащимися основных понятий и базовых техник. «Если ребёнок с 7 класса начинает обучаться на Обероне/Компонентном Паскале, то он уже знает структурное программирование, даже если не знает этого слова. Все эти вещи он узнает, если доучится до конца. В этом смысле учить надо на Обероне» — пояснил Фёдор Васильевич.

Во второй части выступления он акцентировал внимание собравшихся на пропагандистском лозунге мэйнстрима «серебряной пули нет». «Культовая книжка. Фредерик Брукс. «Мифический человеко-месяц». И культовые слова «серебряной пули нет». Специальный абзац выделен курсивом. «Нет ни одного открытия ни в технологии, ни в методах управления, одно только использование которого обещало бы в течении ближайшего десятилетия на порядок повысить производительность, надёжность, простоту разработки программного обеспечения».

Очевидно, если тащить за собой все изобретения не ограниченного физическими законами виртуального мира, если табуировать отказ от лишнего, от избыточной сложности, то выхода нет. Но выдавать налагаемое рыночными и коньюнктурными интересами табу за отсутствие выхода — это явная подмена. И реальный опыт применения Оберона — инструмента, десятки лет шлифуемого для устранения избыточной сложности, эту подмену вскрывает. Алгоритмическая сложность задачи, сверхвысокие требования к безопасности, небольшое число разработчиков и подобные факторы, помноженные на предельную переусложнённость инструмента, создают непреодолимый барьер для применения мэйнстримовых инструментов в соответствующих задачах. Фёдор Васильевич отмечает, что его опыт программирования символьных вычислений и опыт Дмитрия Викторовича Дагаева по реализации сопрограмм для применения в информационных системах атомной энергетики являются примерами задач, где Оберон оказался «несуществующей» серебряной пулей. «Яндекс может себе позволить платить любые деньги любому количеству программистов, и программисты программируют на Си++, хотя даже внутри у них (на ютубе зафиксировано) люди ворчат, что это не правильно… Они могут позволить себе любые инструменты, в том числе мэйнстримные. Те же, кто не могут переложить стоимость избыточной сложности на клиентов, маленькие проекты вроде моих вычислений, критичные к надёжности вроде РОСАТОМа, малый бизнес, биофизики, которые для себя программируют, для них Оберон оказывается «серебряной пулей», самой настоящей, причем не фактор десять, а фактор, доходящий до бесконечности».

Дмитрий Викторович Дагаев в докладе о реализации сопрограмм на Оберон-инструментарии (системы BlackBox, XDS, Ofront) рассмотрел вопрос с точки зрения оценки угроз (вместо преимуществ), вносимых в систему новыми средствами.

Главный эксперт АО «РАСУ» (РОСАТОМ) проводил основной мыслью своего выступления высказывание о том, что безопасность выше, чем интересы бизнеса, закончив его историческим контр-примером из дневников Николы Теслы. Тот, работая у Эдисона, отметил приоритет ускоренного выполнения работ в ущёрб качеству результата, поскольку это единственный критерий, доступный оценке ничего не понимающего в электротехнике заказчика. То есть единственный показатель, влияющий на деловую репутацию Эдисона, которую он и стремился максимизировать в ущерб качеству изготовляемого оборудования. Ровно то же говорит Никлаус Вирт о производителях программного обеспечения в статье 1996 года «Долой «жирные» программы».

В качестве обобщающей оценки дадим слово английскому публицисту XIX века Томасу Джозефу Даннингу, который так прокомментировал высказывание современного ему влиятельного лондноского литературно-политического журнала о капитале: «Капитал, — говорит „Quarterly Review“, — избегает шума и брани и отличается боязливой натурой». Это правда, но это ещё не вся правда. Капитал боится отсутствия прибыли или слишком маленькой прибыли, как природа боится пустоты. Но раз имеется в наличии достаточная прибыль, капитал становится смелым. Обеспечьте 10 процентов, и капитал согласен на всякое применение, при 20 процентах он становится оживлённым, при 50 процентах положительно готов сломать себе голову, при 100 процентах он попирает все человеческие законы, при 300 процентах нет такого преступления, на которое он не рискнул бы, хотя бы под страхом виселицы. Доказательство: контрабанда и торговля рабами». А в качестве современного примера вспомним аварию на фукусимской АЭС. Экспертная комиссия японского парламента в качестве причин аварии назвала уклонение компании-оператора от модернизации станции до уровня сегодняшних требований безопасности.

Илья Евгеньевич Ермаков рассказал о варианте сопрограмм для Компонентного Паскаля в системе BlackBox, реализованном без изменения языка, но требующем модификации системного ядра. Также были продемонстрированы различные способы библиотечной адаптации Компонентного Паскаля под прикладные задачи.

Простота конструкции используемого инструмента обеспечивает не только лёгкость его освоения, но и модернизации под специфику решаемых задач.

Александр Владимирович Ширяев рассказал о внедрении Оберона для программирования бортовых и наземных комплексов управления БПЛА. Изначально использовалась версия Паскаля для встроенных применений. Порядка четверти кода было написано на ассемблере — во-первых, для эффективности, во-вторых, для обхода ошибок компилятора. К 2013 году система автоматического управления была переписана на Обероне-07 с использованием компилятора австралийской фирмы Astrobe.

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

Нужно особо отметить, что Оберон-технологии — перспективнейшее и актуальнейшее направление в области импортозамещения. В переработанный учебник Вирт не просто так включил раздел о конструировании компьютера — современное аппаратное обеспечение (процессоры, жесткие диски и т. д.) догнало по сложности программное обеспечение. Чем сложнее система, тем проще в ней спрятать потенциально вредоносную закладку — об этой стороне высказывания «сложность есть уязвимость» никогда нельзя забывать. Актуальный пример — Intel Management Engine — интегрированный в ителовские микросхемы для материнских плат микроконтроллер периферийных устройств, обеспечивающий «доступ практически ко всем данным на компьютере и возможность исполнения стороннего кода, что в теории позволяет полностью скомпрометировать платформу» (пишет xakep.ru).

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

Евгений Эдуардович Темиргалеев показал практические наработки по программированию документ-ориентированного интерфейса и интерпретатор команд с расширенным синтаксисом.

Иван Андреевич Денисов продолжил тематику предыдущего года — применение BlackBox для сложных рассчётов с использованием библиотеки MPICH для распараллеливания и библиотеки SLD2 для 3D-визуализации. В этом году доклад расширен рассказом об интегральном, прикладном в области биофизки проекте, — программировании компонентного каркаса для надмолекулярного моделирования. Техническая сторона вопроса решена на 90%, и теперь работа фокусируется непосредственно на прикладной части задачи.

Этот проект наравне с символьными вычислениями в области ядерной физики живым примером иллюстрирует эффективность применения Оберон-технологий учёными для решения собственных задач. Ещё раз подчёркнём — высокий коэффициент мощность/простота гарантирует освоение инструмета специалистом без ущёрба для его профессиональной сферы, обеспечивая ему возможность программировать вычислительные алгоритмы своими силами, без посредников из сферы ИТ. Сравните с приведённым на Информатике-21 отзывом физика-экспериментатора, использующего Фортран и Си++, — «В конце концов я обнаружил, что я уже не физик, а программист — столько времени мне приходится писать и поддерживать программы».

Во втором докладе Илья Евгеньевич дал обзор отрасли промышленной автоматизации (АСУ ТП), включая впечатляющие примеры «пузыря избыточной сложности» (подобные насквозь дырявым пакетам SCADA типа Siemens Simatic WinCC, продаваемым в максимальных версиях по ценам более миллиона рублей; в качестве скриптовых языков в отрасли распространены вариации на тему C и VBA; в SCADA-системах последних поколений для 3D-графики используются Flash, Silverlight…).
Был изложен собственный опыт промышленной автоматизации для крупных объектов холдинга «МираТорг» на базе разработанной на Компонентном Паскале/Блэкбоксе платформы ERSY Control. (Статью по прошлогоднему докладу можно прочитать здесь).

Последним взял слово Сергей Волков. Он поделился личным опытом, подтверждающим общие выводы образовательного проекта Информатика-21, — изучение первыми паскаля/оберона обеспечило ему прочную базу для освоения и применения мэйнстрим-инструментария в профессиональной деятельности.

С заключительным словом выступил Фёдор Васильевич, отметив значимость результатов последнего года. Доклады об успешном прикладном применении Оберона в проектах промышленности (от РОСАТОМа до малого бизнеса) и науки (биофизика, ядерная физика) говорят о достижении качественно нового этапа — помимо отечественного образования Оберон-технологии подтвердили свою эффективность и результативность в сферах научных исследований и производства.

Актуальность стоящих перед страной задач импортозамещения и обеспечения цифровой безопасности государства, а также подготовки высококвалифицированных кадров ИТ-сферы для реализации «Стратегии развития информационного общества в Российской Федерации на 2017-2030 годы» ставит Оберон-технологии в ряд жизненно необходимых для освоения и широкого применения.

© 2005-2017 OberonCore и коллектив авторов.