Родился в 1934 году в Свердловске. Окончил в 1961 году Московский энергетический институт, факультет автоматики и вычислительной техники. С 1961 года — сотрудник Отдела программирования ВЦ СО АН СССР (в настоящее время — Институт систем информатики СО РАН). Доктор технических наук с 1996 года, ученик Андрея Петровича Ершова.
Область интересов: основания информатики, архитектура программно-аппаратных комплексов, электронная подготовка изданий, информатика образования.
Разработанные им принципы и механизмы: схемы потока данных, электронная подготовка изданий, представление и преобразования шрифтов на ЭВМ, замкнутые открытые операционные обстановки высокого уровня, принцип равнозначости единичного исполнения программного фрагмента и конкретной деятельности, принцип информационной замкнутости и др.