
Леонид Соколинский, заведующий кафедрой системного программирования ЮурГУ: «Я на автомате убиваю программу, которая напоминает мне об отдыхе»

Миф о том, что математики и программисты – очень скучные и односторонне развитые люди, для меня в одночасье развеял заведующий кафедрой системного программирования ЮУрГУ Леонид Соколинский. Сегодняшний герой рубрики «Харизма» – профессор, доктор физико-математических наук, руководитель нескольких больших научных проектов, автор и соавтор более 70 научных работ – ярко выражает себя не только в своей профессии. Впрочем, и в ней тоже. Наш гость рассказал о перспективах интеграции суперкомпьютеров в российскую промышленность, третьей мировой войне в программировании и восстании искусственного интеллекта.
Трудные подростки из 31-й школы
– Как начиналась ваша научная карьера – с программирования или математики?
– Начну с фразы, которую я люблю повторять. Программирование – это, вообще говоря, не математика. Я по профессии программист, преподаю программирование, и вся моя деятельность связана с компьютерами. Но на самом деле свое образование я получил в области чистой математики, в наиболее ее абстрактной части, которая называется алгебра. Более того, я занимался наиболее абстрактным разделом алгебры – теорией групп. На эту тему писал и курсовые, и дипломную работы, и даже хотел поступать в аспирантуру. Я мечтал всю свою жизнь связать с чистой математикой. Но обстоятельства складывались не совсем благоприятным образом.
– Что вам помешало?
– В ЧелГУ меня не оставили. Я тогда не понимал почему, а теперь считаю, что это было правильное решение руководства университета. Я был способным студентом, но в то же время мне были свойственны определенная разболтанность и неоправданно большая самоуверенность. Студенчество у нас во все времена отличалось вольнодумством и анархизмом. Наверное, руководство университета решило, чтобы я сначала поработал учителем в школе, настоящей жизни хлебнул.
– В итоге вас взяли на работу в университет?
– Да, через три года. Сначала меня распределили в школу учителем. Когда я заканчивал вуз, это был 1982 год – год смерти Брежнева. Тогда по закону после вуза ты должен был отработать три года по распределению, и только потом мог уйти с этого места. От армии я был освобожден, потому что у меня было и остается очень плохое зрение. Меня распределили в Челябинское гороно, и я попросился в 31-ю школу.
– Это физико–математический лицей…
– Да, я считал, что могу работать только в этой школе. И меня направили в нее учителем математики и информатики. Это были не самые лучшие времена для специализированных школ. Как раз вышло постановление о формальном закрытии специализаций, и 31-ю школу обязали открыть начальные классы и набирать первоклашек.
– А почему убрали специализацию школы?
– Я пришел как раз во время так называемых административно-командных перегибов. Они длились недолго, три-четыре года, потом все восстановилось. А тогда 31-ю школу обязали брать ребят с микроучастков. В центре плотность домов очень высокая, и одна школа не может позволить себе взять целый микрорайон, а только часть его – тот самый микроучасток. За 31-й закрепили хрущевки, которые были построены для заселения обществом слепых. И естественно, в школе, кроме одаренных ребят со всего города, учились дети, родители которых были либо слабовидящими, либо не видели вообще. Это был настоящий пролетарский район. Дети были такой закалки, что их голыми руками не возьмешь. Учителя любят таких детей называть хулиганами, причем в предельной степени значения слова.
– Таких детей было много?
– Нет, но я когда пришел, мне сразу дали классное руководство в 7 «а», в котором обучались и дети с микроучастка. Это были очень твердые, закаленные жизнью ребята. Правда, в этом же классе учились ребята со всего города, в высшей степени одаренные математически, с высоким уровнем интеллекта, из интеллигентных высокообразованных семей. Можете себе представить гремучую смесь, которая возникла благодаря этому дикому и глупому решению.
– Как справлялись с ситуацией?
– Мне предложили класс, над которым никто не хотел брать руководство. От него все отказывались. Это был вызов моему интеллекту, юношескому, во многом неоправданному самомнению, самоуверенности. Я бы даже назвал это гонором, что нормально в определенный жизненный период. Но если к 30 годам ничего не меняется – тогда это становится проблемой. Мы все через подобное прошли и остепенились. Я очень благодарен судьбе, что попал тогда в школу. Все три года я работал классным руководителем. Я это выдержал, и более того, в какой то момент это стало главным смыслом моей жизни. Не преподавание математики и программирования, а именно судьбы этих ребят, их личности. Я сумел справиться со сложной задачей, нашел со всеми контакт, мы начали друг друга понимать и уважать.
– Как это произошло?
– Вначале я смотрел на своих подопечных как на обузу, которая мешает мне жить и двигаться моей карьере вперед. Я вел у них только математику. А программирование шло в старших классах, где таких ребят уже не оставалось. После 8-го класса они все шли в профессионально-технические училища или техникумы. Со старшими классами мы ходили в ЧПИ (теперь ЮУрГУ), набивали свои первые программы на перфокартах. Тогда вуз подарил нам два перфоратора, которыми мы очень гордились. Первые полгода для меня главными были старшеклассники. А 7 «а» класс казался совершенно неуправляемым. Хулиганов в нем было немного, но если нет хорошего воспитателя, то сорвиголовы играют руководящую роль. Это неизбежно. И они заправляли всем. Класс делился на хулиганов, слабых и тех, кто соблюдал нейтралитет. Последних было большинство. Самое главное – в классе абсолютно не ценились знания. Хорошо учиться было стыдно. У них была совершенно другая система ценностей. Тот, кто больше нахулиганит, покурит и так далее считался сильнее. И каждый был сам за себя. Меня это не устраивало и постепенно задевало все больше и больше. Я анализировал ситуацию, наблюдал за ребятами и достаточно быстро вычислил ядро. Руководил всеми хулиганами серый кардинал – очень скрытый лидер, далеко не самый физически сильный мальчик, но духовно и психологически он был самый стойкий. Я думаю, что никто из учителей, которые работали с этим классом, так и не поняли, кто же из ребят был ключевой фигурой. Этот мальчик прошел суровую жизненную школу, у него был достаточно развитый интеллект. Возможно, если бы он попал сразу к хорошему преподавателю, его жизненный путь был бы другим. И я начал с ним скрытую борьбу, оказывал на него давление, попросту хотел его сломать. Тогда я буду хозяином в классе, и ученики признают во мне лидера.
– Получилось?
– Я старался показать классу, что я его превосхожу по всем параметрам – и интеллектуально, и психологически, так оно и было. Закончился 7-й класс, а у меня ничего не вышло. Парень не сломался под моим давлением. Я долго размышлял над этой проблемой. И во время каникул ко мне пришло до удивления простое и правильное решение. Это – первая важная вещь, которую я понял во время своей работы в школе: на него не надо давить, этот парень никогда не сломается. Он умрет, но он не сдастся. Это такой характер, поэтому он и был лидером. И мое давление на него было бессмысленным изначально. Нужно просто начать его уважать. Может сначала показаться, что он победил, а на самом деле это была моя большая победа. С 8 класса я изменил к нему отношение, стал показывать, что вижу в нем много хорошего. Он парень умный – все понял, отношения у нас нормализовались, и хулиганство прекратилось. Ему стало неудобно заниматься хулиганством. Шайка распалась, он исчез как лидер-хулиган и реализовался как нормальный способный в учебе парень. Я его уговаривал пойти в 9 класс, но он решил поступать в техникум.
– Что еще вы извлекли из преподавания в школе?
– Считается, что ученики обязаны своим учителям, что они должны быть им благодарны за знания. Я, как учитель, считаю, что мои ученики ничего мне не должны. Неправильно ждать, а тем более выпрашивать благодарность. Ты им должен ровно столько, сколько они тебе. Отдавай больше, и добро к тебе вернется. Если ты хорошо делал свое дело, как учитель – не волнуйся: тебя вспомнят. Это самая лучшая оценка. Третья и очень важная вещь сейчас уже очевидна: личное важнее, чем общественное. Не может сильное общество состоять из слабых личностей. Сейчас это нормально, но тогда были другие времена, нас воспитывали совершенно по-другому. Когда я пришел работать в школу, я был просто уверен, что нужно жертвовать личным в пользу общественного блага в классе. Это приводит к подавлению личности. Такое сплошь и рядом происходило в советской школе и порождало серьезные конфликты между преподавателями и учениками.
Я помню историю в 31-й школе, когда одна учительница со стажем буквально рыдала и сетовала, что ее класс неблагодарный. Сюжет прост – женщина была очень авторитарным руководителем, у нее была своя система подавления. А в классе был парень – чрезвычайно яркая личность, из очень образованной обеспеченной семьи, который не захотел подчиняться. Между ними началась война, и класс его полностью поддержал. В ученике прежде всего надо видеть личность, а уже потом – члена коллектива. В этой же школе работала замечательный учитель, Лина Корниловна Табашникова, к сожалению, она уже умерла. Этот педагог вела в том классе литературу. Она осуждала позицию диктаторства классного руководителя, и именно она зародила первые сомнения в моем советском мировоззрении.
Программирование – большое искусство
– Как вы вернулись в университет?
– После трех лет работы в школе меня пригласил на работу в университет декан математического факультета ЧелГУ Виктор Иванович Ухоботов. Это был сложный выбор, я понимал, что не доведу свой девятый «а» класс до окончания обучения в школе. Но считаю, что поступил правильно, хотя это был достаточно болезненный процесс как для меня, так и для ребят. Моим руководителем стал заведующий кафедрой Владимир Михайлович Ситников, тоже алгебраист. В то время работа на общественных началах была нормой. За нее не было никаких доплат. Хотя сама зарплата была очень хорошая. Квалифицированный инженер получал 120–140 рублей, доцент, кандидат наук – 200–300, а профессор, доктор наук – 400–500 рублей. Через полгода работы на кафедре я попал без очереди на стажировку в Ленинградский университет, а потом в аспирантуру. Мне было очень интересно в научном плане именно программирование, компьютерные науки.
– Увлечение математикой началось с детства?
– У меня не было особых проблем с математикой, все давалось достаточно легко. Но компьютеры
увлекали намного сильнее. Программирование и математика – это очень близкие, смежные науки, но это не одно и то же. В программировании есть вещи, которые математиками воспринимаются очень плохо. То, что можно написать на одном языке программирования, легко переложить на другой. Это как обычный человеческий язык: если у тебя в голове нет мысли и логики, знание иностранного языка не поможет. А языки программирования осваивать гораздо легче, чем учить иностранные языки.
Программист определяется не тем, сколько языков знает, а тем, насколько сложные программы умеет писать, отлаживать и добиваться того, чтобы они работали. Команды языка программирования сами по себе примитивны, поэтому математики не видят сложности в нем, они склонны вовсе не считать программирование наукой. Это потому, что они никогда не писали больших программ. Трудно заставить сотни тысяч операторов работать так, как тебе нужно. Проблема программирования заключается в том, что необходимо найти ошибочное место в большой неработающей программе и исправить его. Это большое искусство. Если нет соответствующей подготовки, программистской культуры, навыков, то вы не сможете никогда дойти до финала. Сложность программы вас съест, вы с ней не справитесь.
Есть и вторая специфическая проблема, которая стала актуальна в последнее время. Она многократно увеличивает сложность работы программиста. Речь идет о параллельном программировании – написании такой программы, которая может работать на двух и более процессорах. Раньше написание параллельных программ было экзотикой, эдаким программистским экстримом. Навыками параллельного программирования владела только программистская элита. Но теперь на новых персоналках и даже ноутбуках стоят минимум два процессорных ядра.
Это означает, что все компьютеры стали использовать не последовательные, а параллельные программы. И если вы не умеете их писать, то не сможете использовать свой ПК на полную мощность. Из двух, четырех процессоров будет работать только один. В 2015 году компания Intel планирует начать серийный выпуск стоядерных процессоров. Уже сейчас существует восьмидесятиядерный экспериментальный процессор. Получается, что сейчас обучение параллельному программированию нужно вводить в школьную программу. И это факт. Фактор появления многоядерных процессоров специалисты по значимости приравнивают к таким революционным изменениям в области информационных технологий, как появление персональных компьютеров и Интернета. Сейчас тихо и незаметно у нас происходит третья компьютерная революция.
– На какой операционной системе лучше всего идет параллельное программирование?
– На самом деле программисту все равно. Был небольшой период, когда считали, что параллельным программированием удобнее всего заниматься на Linux, а монополией Windows считались персональные компьютеры. Но компания Microsoft, этот гигант производства программного обеспечения, очень подвижен. Я здесь не высказываю симпатии к компании Microsoft, я просто констатирую факт: она играет роль локомотива в области информационных технологий. Конечно, благодаря ее лидеру – гениальному менеджеру и талантливому программисту Биллу Гейтсу. Нравится вам или не нравится, но у каждого из нас стоит их операционная система. Компания гибка, мобильна, очень чутко реагирует на все изменения в мире и проводит агрессивную, но конструктивную политику конкуренции. Совсем недавно компания Microsoft выпустила Windows для суперкомпьютеров.
– Интересно, каков объем параллельной программы по сравнению с последовательной?
– Здесь существует некоторый парадокс. Когда вы пытаетесь написать... Нет, давайте более оптимистично – пишете параллельную программу, то ее объем естественно больше, чем у последовательной. Но, что удивительно, ненамного, и, что самое замечательное – это не зависит от количества процессоров. Думаю, не сильно ошибусь, если скажу, что объем параллельной программы для любого количества процессоров возрастает примерно на 20 процентов. И это даст суперкомпьютерам будущего колоссальные возможности.
Искусственный интеллект пока фикция
– Получается, что скоро количество процессоров у суперкомпьютеров будет сопоставимо с количеством нейронов в человеческом мозге?
– Я недавно побывал на совещании в Институте программных систем в Переславле-Залесском, на котором выступал академик Велихов. Он сказал, что в 2008 году по прогнозам специалистов суммарная мощь всех суперкомпьютеров мира сравняется с мощностью одного человеческого мозга. А к 2018 году она сравняется с мощностью всех человеческих мозгов.
– И начнется война терминаторов...
– Я не знаю, что к тому времени будет, но скажу одно. Еще в 80-х годах прошлого века всех захватила эйфория по поводу появления искусственного интеллекта. Тогда говорили, что вот-вот будет создана такая самообучающаяся машина. Однако ничего такого, как мы знаем, не произошло. Да, появились замечательные программы, которые обыгрывают гроссмейстеров, но это – не искусственный интеллект. Они играют в меру тех возможностей, которые заложены в них группой талантливых программистов.
– А саморазвитие шахматной программы не происходит?
– Оно крайне ограничено, информация по этому поводу давно озвучена и опубликована. Даже когда такой компьютер выигрывает у самого Гарри Каспарова, это лишь сначала видится как сенсация. Гроссмейстер умеет играть с людьми, здесь же заложена совершенно другая логика – компьютерная, неудобная для человека-соперника. При этом программа ловится на детских приемах, которые не заложены в нее программистами. Получается, что человек соревнуется с мозговитыми программистами, а не с искусственным интеллектом. Если шахматную программу оставить без программистов, то любой гроссмейстер быстро научится обыгрывать эту программу со стопроцентной вероятностью.
А менеджеры на АвтоВАЗе не знают...
– Сколько всего в России суперкомпьютеров на данный момент?
– Думаю, что несколько сотен, причем они между собой не связаны. На сайте supercomputers.ru под руководством Владимира Воеводина, члена-корреспондента Российской академии наук, расположен топ-50 – текущий рейтинг суперкомпьютеров России и стран СНГ. Сейчас там данные сентября прошлого года, но очень скоро, в марте, расстановка сил в первой десятке существенно изменится.
– На каком месте будет новейший суперкомпьютер ЮУрГУ, который вы скоро начнете собирать?






