Михаилу Донскому исполнилось шестьдесят. Его биография совпадает с историей вычислительной техники, а трудовая биография -- с историей российской IT-индустрии. Самое известное его достижение -- победа с программой «Каисса» на первом чемпионате мира среди шахматных программ (1974). По сей день Михаил Донской остается ведущим специалистом в индустрии. О темных сторонах работы программиста, об искусственном интеллекте Михаил ДОНСКОЙ рассказал нашему корреспонденту.-- Давайте обратимся к началу компьютерной эры. XIX век. Разностная машина Чарльза Беббиджа. "Первый в мире программист" Ада Лавлейс. Блез Паскаль конструировал вычислительную машину.-- Полная ерунда. Недавно прочел в книжке такую фразу: большинство людей относится к сексуальным удовольствиям как к процессу поедания мороженого, но литература предпочитает говорить о страсти любви. Тут то же самое. Паскаль был шикарный ученый, его именем Вирт язык программирования назвал. Но компьютер не Паскаль построил.
Леди Лавлейс придумана журналистами для того, чтобы расцветить историю компьютеров. В те времена, когда Аду Лавлейс назвали программистом, машины были нечеловечны. Центральный процессор первых ЭВМ представлял собой большой скучный шкаф, который по комнате не ходил. Скучные шкафы для репортажа снять тяжело. Вот и придумали леди Лавлейс с целью романтизации.
Другое дело, что история компьютеров действительно имеет странную двойственность. Официально она начинается в 1948-м (год моего рождения, кстати), когда в Америке появился компьютер ENIAC. Но в 1989-м английская разведка обнародовала кое-какие сведения, у которых истек 50-летний срок секретности. Оказалось, что первый компьютер был сделан небезызвестным в науке человеком по имени Алан Тьюринг. Во время войны для дешифровки немецких сообщений Алан Тьюринг придумал текст, корреляция с которым легко вскрывает шифр. Текст этот специальным постановлением британского правительства до сих пор держится в секрете. Когда немцы усовершенствовали свою шифровальную машину, Тьюрингу приходилось слишком много раз прогонять перфоленту со своим знаменитым текстом. Чтобы избежать этого, он придумал положить текст в память, а кто-то из его соратников сумел эту идею реализовать и создал машинную память на релейных устройствах.
Фон Нейман знаменит тем, что уже после Тьюринга придумал хранить в памяти не только данные, но и команды. А Клод Шеннон придумал, что компьютер может не только считать, но и заниматься информационными процессами.
-- Например, играть в шахматы.-- В 48-м вышли первые труды Клода Шеннона по теории информации, в частности статья по шахматному программированию. Шеннон показал, что компьютер может играть в шахматы, и даже сделал набросок алгоритма, который стал основой всех шахматных программ. В 80-м меня познакомили с Шенноном, он был почетным гостем чемпионата мира среди шахматных программ. Первое, что я тогда подумал: "Как? Человек, придумавший слово "энтропия", еще жив?!" А в 99-м наступила моя очередь быть почетным гостем чемпионата. Почетный гость -- это человек, единственная обязанность которого состоит в том, чтобы открыть и закрыть турнир, наградив победителей. Вот читаю я свою речь на церемонии открытия и вижу в глазах тех, кому читаю, тот же вопрос: "Как, он еще жив?!" Меня там слушали ребята 74--75-го годов рождения. Если человек читает работу, опубликованную в год его рождения, он думает, что автор мертв. А ведь Шеннону в 1980-м было 50 с чем-то.
С Шенноном приключилась забавная история. В начале 50-х он был fellow в Bell Labs. Быть fellow -- значит быть на привилегированном положении, то есть иметь хорошую зарплату и не иметь обязанностей, но с условием: все, что сделаешь, принадлежит работодателю. Шеннон по дороге, в свободное от развлечений время, сделал программу, которая принесла ему на бирже пару-тройку миллионов. Начальство сказало: "Клод, надо бы вернуть денежки в фирму. Нехорошо. Мы твое время оплачиваем, компьютер, на котором ты программу отладил, тоже наш". "Но алгоритм-то мой, отстаньте", -- отвечает Шеннон. Не договорились. И автор теории информации был уволен. Он больше никогда не работал ни в одной компании и ни в одном университете Америки. Только консультировал. Он не голодал, но никогда не имел постоянной работы. Вот так устроен волчий мир капитализма.
-- С вами в СССР такого быть, конечно же, не могло.-- Все мощные компьютеры в 60-е годы концентрировались в ядерных центрах. У нас -- в ИТЭФ. Там была лаборатория программирования, ее возглавлял Александр Семенович Кронрод, известный математик, мой учитель. Там же работал Адельсон-Вельский (Георгий Адельсон-Вельский -- выдающийся советский математик. --
Ред.). Задача лаборатории состояла в обслуживании физиков-ядерщиков. Быстро выяснилось, что просто программировать алгоритмы физиков бессмысленно, потому что физики не понимают технологии вычислений. Приходилось работать вместе. В 1968-м Есенина-Вольпина (известный математик, диссидент. --
Ред.) посадили в сумасшедший дом как антисоветчика. Кронрод и Адельсон-Вельский подписали соответствующее письмо и оказались в положении Шеннона. Из ИТЭФ их выгнали. Но Кронрода взяли в ЦНИИПИ (Центральный научно-исследовательский институт патентной информации), а Адельсона-Вельского -- в ИПУ (Институт проблем управления) АН СССР, из-за чего и я туда потом попал, кстати.
Кронрод меня отпустил с тем условием, что я стану заниматься шахматной программой.
В ИТЭФ физики не занимали 100% машинного времени, так что программисты развлекались. Отладили программу для игры в дурака и "одномастку" (игра картами одной масти на большее количество взяток. --
Ред.), последнее стало классикой. Метод ветвей и границ, один из краеугольных камней игрового программирования, родился из этой забавы.
-- Шахматное программирование тоже принесло пользу?-- Еще какую. В "Каиссе" мы сделали вещь, которую никто в мире не делал и благодаря которой я живу всю свою жизнь. Мы потратили половину усилий не на то, чтобы научить программу играть в шахматы, а на то, чтобы научить ее показывать, как она играет в шахматы. Программа выдавала ход перебора вариантов в шахматной нотации, с любого места, в любой позиции, с любыми параметрами. Остальные разработчики шахматных программ сидели, образно говоря, на берегу с удочкой, а мы построили батискаф и опустились на дно посмотреть, что там творится.
Надо было понять, как это делает машина. Тогда искусственный интеллект состоял из двух ярко выраженных направлений: антропоморфного, где люди исследовали, как человек решает задачу, и пытались это запрограммировать, и компьютероморфного, когда брали трудную задачу и решали, а как ее решает человек, ну его на фиг, никто не знает. Мы были представителями второго направления. Успехов на первом направлении я не знаю, а на втором -- сколько угодно.
-- А что такое искусственный интеллект?-- Не знаю. Лучше спросить об этом журналистов.
Словосочетание Artificial intelligence придумали, лежа на калифорнийском пляже, Алан Тьюринг и Джон Маккарти (выдающийся американский ученый в области IT. --
Ред.). Но два гениальных человека опростоволосились. Термином "искусственный интеллект" они натравили на себя толпу журналистов, которые подумали, что если машина сегодня играет в шахматы, то завтра она начнет расстреливать людей.
Для меня "искусственный интеллект" -- это область сложных, неформализуемых задач. Шахматные программы перестали быть явлением из области искусственного интеллекта, как только машины научились прилично играть.
-- Кроме "Каиссы" у вас была не менее известная разработка -- система управления базами данных ИНЭС. Три десятка лет назад она работала практически во всех вычислительных центрах СССР...-- ИНЭС родилась в процессе научного осмысления левых работ. Началось это с первой советской АСУ (автоматизированная система управления, прообраз ERP-систем. --
Ред.) в 1970 году. Я имел честь быть младшим в команде разработчиков. 70-й год -- это сто лет со дня рождения Ленина. К этой дате Министерство электронной промышленности (МЭП) должно было сдать свою АСУ под названием "Электроника". Ничего не сделали, и министру пригрозили: не будет АСУ к съезду партии в феврале 1971 года -- снимем. Он начал искать, кто за полгода выполнит пятилетнюю работу большого отдела. Нашел нашего маклера, Хасана Саидовича Дымшица, он же Ефим Самойлович (колоритная личность -- на войне побратался с арабом и взял его имя). Когда министр показал ему бумажку с суммой и спросил, устраивает ли цифра, Дымшиц сказал: "Цифра хорошая, но нулей маловато, я бы два добавил". Министр: "Я не могу заплатить семерым столько!" Дымшиц: «Ничего, мы оформим 700». Оформили 70. Первые два месяца из отпущенных четырех мы делали операционную систему для "Минск-22?. Старенькая машинка, но надежная, когда в зале стелили очередной пыльный ковер для начальства, она работоспособность не утрачивала. Эта система и была сердцем ИНЭС. Потом стали делать АСУ.
Об этой работе предполагалось докладывать как об успехе. Но выяснилось, что работа -- левая, и славу разработчика первой советской АСУ отдали в Киев академику Виктору Михайловичу Глушкову. А мы, сделав еще пяток таких систем, поняли, что все время делаем одно и то же. И тогда мы сделали ИНЭС как станок для выполнения левых работ. Я думаю, гносеология "1С" та же самая -- они сделали несколько проектов, поняли, как их можно делать быстрее, и сделали платформу.
-- То есть и в советские времена вам, говоря словами Райкина, "простому инженеру", удавалось сохранить достаточное количество степеней свободы?-- Та система была характерна большим количеством городских сумасшедших. Аркадий Райкин, Михаил Ботвинник. Я лично был свидетелем: Михаил Моисеевич не понимал, что он еврей. Когда его не выпустили с его шахматной программой "Пионер" на работу в Германию, он искренне не понимал, в чем дело, и нажаловался в ЦК. Знаете, чем закончилась эта история? Устроили совещание в отделе науки ЦК КПСС (я на него не пошел). Ботвинник сделал большой доклад. Сибирский ученый по фамилии Марчук (Гурий Марчук, будущий президент АН СССР. --
Ред.) встал и сказал: "Я все понял. Это гениальная работа. Вывозить ее за границу -- все равно что разглашать наши ядерные секреты". Так Ботвинник добился своего -- ему навсегда запретили вывозить "Пионер". Причем как запретили! Нельзя же было сказать: вы, Михаил Моисеевич, еврей, и потому в Ганновер не поедете. У Ботвинника дача на Николиной горе была рядом с дачей Туполева, а тот тоже из разряда городских сумасшедших -- взял и перегородил дачей дорогу, чтобы трактора на колхозное поле ездили другим путем. А рядом жил Александров, но не академик, а референт Брежнева. Ботвинник забыл, кто он. А я понимал, кто я такой: беспартийный кандидат наук.
-- Профессия программиста не деградировала ли с появлением ПК?-- Профессия стала массовой. Вопрос в том, кого считать профессионалом. В футбол играют все, но не все получают за это деньги. В программировании интересно не то, что программирующих людей стало много, а то, что они стали получать деньги ни за что. Связано это не с квалификацией, а с организацией этого бизнеса. Когда каждый банк имеет свой IT-отдел и не всегда покупает софт, количество вакансий программистов зашкаливает. Когда люди не покупают
разработку сайтов, возникают в больших количествах "программисты на HTML". Вы ведь не против тех, кто играет в футбол во дворе? Но не платить же за это деньги.
-- Но ведь деградируют программные продукты. Операционные системы для ПК -- шаг назад по сравнению с IBM/360, разве нет?-- Как возникла MS-DOS? Сначала была CP/M, которая представляла собой урезанный Unix для маленькой машинки, без многозадачности и прочего. Но потом аппаратура росла с дикой скоростью, и базовая система не поехала. Надо отдать должное Биллу Гейтсу, второй раз он этой ошибки не сделал. Этот же виток мы видели на мобильных устройствах. Palm OS иначе как убожеством не назовешь, даже файловой системы нет. Программировать на ней невозможно, я пробовал -- если были заказы под Palm OS, сразу утраивал цену. То же самое Symbian, операционка для бедных. Когда появилась Windows Mobile, казалось, что в Microsoft сошли с ума: откуда в карманном компьютере возьмутся такие вычислительные ресурсы? Но сегодня Microsoft дождалась своего часа. Palm OS умер. Symbian умрет вскоре. Мы писали Lingvo (популярный компьютерный словарь российской компании ABBYY. --
Ред.) для Symbian, и это был подвиг. Программисты голосуют за Windows Mobile. А с программистами бороться невозможно.
-- К 40 годам люди уходят из программирования -- кто в начальники, кто в бухгалтеры, кто в таксисты. Вы, пожалуй, единственное заметное исключение.-- Когда в 90-м мы создали клуб программистов, меня порадовало такое наблюдение: очень скоро он превратился в клуб IT-бизнесменов. Карачинский, Дергунова, Нуралиев. Из программирования со временем вырастаешь либо в хорошего управленца, либо в хорошего программиста. Чтобы выбрать второй вариант, надо слишком любить свое дело, потому что управленцам платят сильно больше. Знание того, как устроены информационные потоки, очень помогает тому, что называют "организационным управлением". Хорошему системному архитектору, если он немножко понимает в психологии, быть топ-менеджером несложно. Кажется, даже Мавроди программировал.
-- А темные, неблагодарные стороны профессии программиста?-- Программист живет в среднем столько же, сколько и нормальный человек, а вот его проекты... Рембрандт написал "Ночной дозор", и на него до сих пор все смотрят. А что у программиста? Машины меняются, как в калейдоскопе, операционные системы приходят и уходят, СУБД тоже. Выясняется, что наш труд остается все больше в воспоминаниях. "Каисса" по нынешним временам -- смешная шахматная программа. ИНЭС с Oracle не сравнишь. Мы расходный материал. Мы можем оставить после себя только опыт и знания, но не продукты. Какими бы классными они ни были. У журналиста, между прочим, тоже -- где ваши вчерашние статьи? Смешное противоречие: ты работаешь на корзину, даже если ты производишь лучший софт в мире.