Их не останавливает даже то, что большая часть представителей этой профессии среднего возраста выбыла из игры — одни эмигрировали, другие стали торговать пирожками. Молодые со свойственным им юношеским максимализмом безоглядно «рвутся в бой», но их родители хотят понять, что же происходит сейчас в этой области, каковы перспективы и куда абитуриентам стоит идти учиться. С такими вопросами обращаются и в редакцию нашего журнала. Осень — самое подходящее время, чтобы получить на них ответы от лиц первой величины на отечественном компьютерном небосклоне, которых журнал «Мир ПК» пригласил выступить «застрельщиками». Так их назвал ведущий встречи, научный редактор журнала Геля Иванович Рузайкин, на «круглом столе», состоявшемся на только что отметившем свой 30-летний юбилей факультете вычислительной математики и кибернетики (ВМК) Московского государственного университета.
Во вступительном слове ведущий, в частности, отметил, что это собрание — дань уважения к ВМК МГУ, являющемуся национальной кузницей кадров по computer sciences, где молодые люди «встают на плечи гигантов», чтобы, подобно Исааку Ньютону, видеть дальше и достовернее. Кроме того, давно уже никто в нашей стране не обсуждал на таком уровне состояния дел в программировании. Это также побудило редакцию внести свой скромный вклад в организацию данного «круглого стола». И наконец, устроители не сомневались, что подобное общение доставит удовольствие и ученикам, и учителям.
Выступили: В.П. Иванников — член-корреспондент РАН, завкафедрой системного программирования ВМК МГУ, директор Института системного программирования РАН; Л.Н. Королев — член-корреспондент РАН, завкафедрой автоматизированных систем и вычислительных комплексов и Э.З. Любимский, профессор, завкафедрой системного программирования.
Лев Николаевич Королев: Влияние развития вычислительной техники на программирование
Начну с замечания, относящегося к словам ведущего о национальной кузнице кадров. Наши выпускники работают по всему миру, иногда даже в России. (Смех в зале.)
Думаю, всем тем, кто читает журналы или видит мир через Internet, то, что я скажу, в той или иной степени известно. Мир компьютеров, а это действительно мир, за последние несколько лет резко изменился. Я давно не читал журнала Datamation, но некоторые цифры все-таки помню. Еще с 1984 г. ежегодно выпускались миллионы ПК. А сколько всего сейчас в мире компьютеров, я даже не представляю. И естественно, можно только предполагать, сколько из них связано с Internet. Навскидку назову такую цифру: в России подключено к Сети порядка 5 млн. ПК. Это приблизительная величина, которая получилась в результате оценки численности относительно состоятельных людей в нашей стране. Сейчас многие из них для престижа покупают компьютер и подключаются к Internet.
Давайте рассмотрим основные тенденции развития вычислительной техники и программирования.
- Основную массу компьютеров теперь можно отнести к бытовой технике.
- Сети, особенно Internet, позволили создать глобальное информационное пространство и расширили сферу общения.
- Появилась глобальная информационная среда, резко изменившая взаимоотношения между людьми со всеми вытекающими социальными, политическими и экономическими последствиями.
- Компьютеры преобразовали жизнь таким образом, что реальные бумажные деньги стали исчезать. Это полностью согласуется с теорией марксизма-ленинизма (Реплика из президиума: «У нас уже исчезли!»), и расчеты переходят в электронную форму.
Правда, есть и еще один путь развития вычислительной техники — создание суперЭВМ для решения совершенно уникальных задач. Все знают, что уже появились процессоры, производительность которых измеряется TFLOPS. Я получил из Internet таблицу с данными о 500 самых мощных компьютерах. В 1999 г. первое место заняла машина с 9632 процессорами. И действительно, существуют задачи, которые можно решить только на таких вычислителях. На одной из конференций первое место получила программа моделирования турбулентности, которая шесть суток выполнялась на системе фирмы IBM с почти 4 тыс. процессоров. Оказывается, такие мощные компьютеры человечеству нужны!
И вот теперь, кратко охарактеризовав развитие вычислительной техники, я благодаря своему возрасту могу без опасений рассуждать о том, что будет в следующем веке. Революционные шаги по росту быстродействия будут продолжаться, потому что, оказывается, и в бытовых компьютерах производительность играет существенную роль. Нужно, чтобы игры все более приближались к реальности.
Поэтому вследствие развития самой вычислительной техники, а может быть, и в результате изменения требований к ней самой и к ее пользователям стало возможным говорить о сильном расслоении программирования как вида деятельности. Ранее оно делилось лишь на прикладное, системное и теоретическое. Первое — обеспечивало создание программ, решающих прикладные задачи, второе (системное) — применялось в основном для разработки инструментальных систем автоматизации программирования, третье — создавало фундамент для развития программирования как целого.
Если пристальнее присмотреться к областям использования компьютеров, то, во-первых, я бы выделил ВТ для самой обширной сферы применения, другими словами, для труда и отдыха. И здесь свои требования к программированию. Обслуживает же эту область самая настоящая индустрия по созданию ПО.
Во-вторых, существует программирование для нужд среднего класса — людей любознательных, интересующихся ПК для дела. Им нужен Internet не только для того, чтобы рассматривать интересные картинки, но и для того, чтобы повысить свою квалификацию, в том числе и дистанционным путем. Но, естественно, и для них компьютер может быть просто забавой.
Еще одна, третья сфера применения — производственно-офисное программирование. Сюда я отнес бы банковские и офисные системы, и, возможно (под определенным вопросом), проектирование.
Есть и такая область, как научно-исследовательское программирование, связанное с решением больших задач, для которых нужны суперЭВМ, кластеры и многопроцессорные системы.
Несколько особняком стоит теоретическое направление, изучающее алгоритмические свойства программ, доказательства их правильности. Я выделяю его в самостоятельное, поскольку оно смыкается с современной математикой. Иначе говоря, это теория алгоритмов, теория языков. В этом смысле понятие системного программирования несколько изменилось. Если раньше к нему относилось создание трансляторов и надстроек над пакетами прикладных программ, то теперь основной лозунг — инструментальная поддержка индустрии программирования.
Задачи системного программирования, естественно, различаются. Одно дело — инструменты для обеспечения вычислений, другое — инструменты для развлечений. В последнем случае должны создаваться такие, которые делают рентабельной разработку все новых и новых программ. Что касается научно-исследовательского программирования, то здесь имеет место иной подход. На первое место выходит не столько экономическая рентабельность, сколько гибкость и скорость изменения ПО. Причем происходит наиболее тесное соприкосновение с теоретическим программированием в тех его разделах, которые связаны с алгоритмизацией и исследованием распределенных алгоритмов.
Прикладное программирование в старом его понимании, конечно, умирает, потому что системное старается разработать средства, направленные на исключение этапа написания текстов программ как таковых для большинства пользователей, по крайней мере на этапе разработки алгоритма. Сейчас появляется огромное количество языков и средств разработки, позволяющих упростить процедуры создания графики и переноса с платформы на платформу.
Груз разработанного ранее ПО заставляет нас порой делать нелепейшие ошибки. Например, процессор Pentium III по сути транслирует код х86 в свои команды (RISC-операции). Появляются новые идеи создания процессоров с очень длинным командным словом, превращающим их в суперскалярные. Хотя подобная мысль и очень хороша, такой подход может оказаться безрезультатным, поскольку груз старого ПО помешает это сделать.
А теперь позвольте мне закончить, так как о перспективах программирования за недостатком времени я говорить не буду.
(Аплодисменты.)
Мир ПК: Благодарим вас за выступление и разрешите задать один вопрос. Пользователь вовлечен в «версионную» гонку, принимающую порой парадоксальные формы, когда программисты заняты в основном изучением очередных версий. Можно ли ее остановить?
Реплика из зала: Это способ делания программ, которые никогда не устаревают! (Гомерический хохот.)
Л.Н. Королев: По-моему, это сделать невозможно. Компьютер сейчас превращается в универсальный прибор, который совмещает в себе телевизор, телефон и т.п., поэтому приходится все время делать «прибамбасы» на потребу всевозможным запросам, возникающим в обществе. Торговля через Internet также потребует от разработчиков индустриального ПО для защиты информации, электронной подписи и т.п. И такой процесс продлится очень долго. Потом появятся стереоскопические дисплеи, потом еще что-нибудь... И угнаться за всем этим или стабилизировать что-то очень сложно.
(Аплодисменты.)
Эдуард Зиновьевич Любимский: Программирование и метакомпьютинг
Хочу сделать замечание Льву Николаевичу по поводу того, что прикладное программирование отмирает. Здесь я воспользуюсь автомобильной метафорой. Появились поезда и самолеты, но все равно потребность ходить не пропала. Остались еще такие места, куда надо ходить пешком. То же относится и к программированию. Какие бы пакеты ни появлялись, все равно остается потребность писать «ручками». И в рамках той же метафоры хочу заметить, что есть такие общие понятия в программировании, которые не зависят от того, пишете ли вы в терминах пакетов или в терминах команд. Точно так же, как при прокладке маршрута есть общие принципы, которые не зависят от того, плывем ли мы, летим ли или бежим (начальная и конечная точки, расстояние и т. п.), навыки программирования, искусство программирования необходимо сохранять. (А пешеходам, замечу, зачастую более интересно ходить, их путь часто проходит по более красивым местам, чем у автомобилиста или летчика.)
Это короткое замечание. А теперь я хочу представить еще одну тему, которая для нашего факультета достаточно нова, но в мире она в последнее десятилетие интенсивно развивается. Идея на самом деле проста и естественна. Если мы говорим, что все вычислительные мощности земного шара соединены информационными каналами, то можно поставить вопрос, нельзя ли собрать из них один большой компьютер. Для этого уже появился термин — метакомпьютер. Суть заключается в том, чтобы пользователь, выходя в Сеть, не замечал, что он работает не на одной машине, и не думал о том, где реально находятся его данные.
Есть два основных экономических фактора, которые будут продвигать вперед развитие этой мысли:
- если мы сможем использовать все машины как одну, то это значительно повысит общую производительность парка компьютеров, часть которых простаивает по ночам, ведь только одно их применение в это время позволит поднять производительность многократно;
- увеличится и пиковая мощность. Так, если раньше задача занимала сутки, то на распределенной машине она может быть выполнена значительно быстрее (в десятки раз), что позволит решать гораздо более «энергоемкие» задачи.
Теперь ответ на вопрос: что же делать, если все компьютеры уже соединены? Большинство присутствующих здесь, наверное, не застали те времена, когда у программистов были машины без операционных систем. Они имели ленты, барабаны и другие устройства, каждое из которых обладало... (Реплика В.П. Иванникова: «Да панели были со штекерами, вот они и управляли!»), но файловой системы не было. Устройства были, а ОС не было. Сейчас компьютеры, соединенные линиями связи, представляют собой аналогичную картину, и задача состоит фактически в том, чтобы создать над этими машинами такую операционную оболочку, которая, с одной стороны, во многом была бы аналогична ОС для первых машин, а с другой — стала бы совcем иной, поскольку стала совершенно иной и сама машина, для которой это надо сделать. Таким образом, сейчас мы находимся на новом витке спирали развития ПО. Очень важно учитывать и то, что за каждым компьютером и за каждой линией связи стоит их собственник. Эти люди, возможно, готовы включиться в такую систему, но хотят получать определенное вознаграждение и соблюсти свои права.
Естественно, что для решения подобной задачи нам придется заимствовать механизмы, которые наработало общество для регулирования юридических, финансовых и прочих отношений. И действительно, уже сейчас мы используем многое из этого, например принципы функционирования обычной почты в сетевых протоколах.
Точно так же при построении будущей машины появляется возможность учитывать такие понятия, как аренда мощностей, финансирование и т. д.
Как будет проходить создание такого метакомпьютера? На первом этапе должно произойти, да и уже происходит объединение расположенных рядом друг с другом вычислительных мощностей. Второй этап — создание единого компьютера из корпоративных вычислительных сетей, в который могут входить несколько локальных. При этом нужно будет учитывать разные скорости передачи и открытость линий связи, защитить которые значительно труднее. Третий этап — построение региональных систем, в которые могут входить несколько корпоративных сетей. Здесь добавляются такие понятия, как права владельца и взаиморасчеты. По мере укрупнения региональных систем будет происходить переход к всемирной вычислительной машине.
Эти мысли существуют не только на бумаге, имеются уже некоторые практические реализации. Есть несколько десятков так называемых кластеров. (Этим термином теперь обозначают два типа кластеров. Во-первых, аппаратные, представляющие собой комплексы из нескольких процессоров, собранных вместе, по сути, многопроцессорные машины. Во-вторых, программные, которые объединяют порой разнородные компьютеры, каждый со своим ПО, со своим хозяином. И это совсем другая проблема, она относится уже не к области архитектуры вычислительных машин, а к межкомпьютерному взаимодействию.) Существуют также региональные разработки, которые, правда, скорее являются инструментарием для организации общения между вычислительными узлами или вычислительными кластерами, однако имеются и примеры реально работающих систем. Самая крупная система есть в США, она объединяет суперкомпьютерные центры, позволяя сбалансировать их нагрузку.
Конечно, не все проблемы еще решены. Современные системы пока еще не могут создавать для программиста иллюзии работы на одной машине, поскольку ему все-таки нужно узнать, какой конкретно вычислитель будет выполнять задание и готовить информацию на языке этой платформы. Конечно, настоящий метакомпьютер должен предлагать разнообразие языков, из которого можно выбрать то, что вам удобно, а не приспосабливаться к какой-либо машине.
Представьте себе также задачу планирования для метакомпьютера. Со всех сторон приходят заказы на вычислительные ресурсы, есть свободные мощности. Появляется потребность в создании аналога биржи, брокерской конторы и т. д. И последнее. Метакомпьютер на самом деле преобразует представление всего общества о компьютере и программном обеспечении. И конечно, рано или поздно мы все перейдем к созданию ПО для такой метамашины.
(Аплодисменты.)
Виктор Петрович Иванников: Современные проблемы подготовки программистов в России
Часто говорят о заре Internet. Не знаю, какая это заря, может быть вечерняя. О ней я говорить не собирался. А хочу сказать несколько слов об организационных проблемах преподавания применительно к факультету ВМК. Преподавание — это бизнес, и нам нужно понять, что это за рынок, какова его специфика. Какими свойствами, какими качествами должен обладать товар, поставляемый туда. Как организовать бизнес-процесс (процесс обучения) и т. д.
Что представляет собой сейчас рынок программистов в России? Каковы его потребности? Лет 10—15 назад все было понятно. Были академические организации, куда шли выпускники, чтобы проводить исследования и создавать новые технологии, а также отраслевые институты, которые занимались разработками и производством, прежде всего в сфере военно-промышленного комплекса. Рынка программного обеспечения, индустрии ПО не было. Сейчас крайне мало академических институтов еще держится на плаву, да и те, что есть, разбиты на группы формально независимых организаций. Причины банальны — так проще уклоняться от налогов. В основном все они работают по контрактам с западными компаниями. Это позволяет поддерживать более-менее приемлемый уровень заработной платы и вести разумную работу по обучению специалистов. Военно-промышленный комплекс находится в самом тяжелом состоянии, и говорить о нем как об индустрии, которая может брать специалистов, не приходится. Остаются еще коммерческие компании. Я сталкиваюсь с качеством их продукции в экспертных комиссиях. К сожалению, не многие из них имеют сертификат на проведение разработок ПО. Есть фирмы, я их знаю, сертифицированные по CNN 3, который удостоверяет качество самого процесса создания. Мне известна компания, имеющая сертификат по ISO 9000 на процесс разработки. (Реплики из зала: Еще IBS, ASI имеют...) Но таковых наберется немного. А ведь это необходимое условие для того, чтобы работать на рынке информационных технологий. Если процесс разработки удовлетворяет этим условиям, то заказчик вправе рассчитывать на то, что он получит систему в срок и именно ту, которую он хотел, приблизительно, конечно, процесс-то итерационный (смех в зале), с известными ресурсами и заданным качеством.
Понимают ли наши управляющие структуры, наше государство, что надо сделать для того, чтобы хоть как-то изменить сегодняшнее положение вещей? Утверждаю, не понимают! У меня нет статистики, но в качестве эксперта я был включен в комиссию Министерства экономики России, где разрабатывался план поддержки индустрии. Общее впечатление таково: документ времен Госплана. Я сейчас не имею в виду, что Госплан — это плохо. Это была система управления с обратными связями, правда, очень «длинными». Но все-таки это была система управления. Я просто приведу два примера из рассматривавшегося документа. Там была объявлена национальная подпрограмма по Windows NT. Ошеломляющая вещь. Я, конечно, выступил и сказал, что объем такой ОС — 75 млн. строк, 3 тыс. 1000-страничных томов. Их нужно написать заново! Причем идет непрерывное обновление! И Билл Гейтс не будет согласовывать с какой-то компанией свои изменения. Начнутся разночтения. Бессмысленная гонка! Подпрограмма национального микропроцессора. Тоже чудная вещь. Разработка такого кристалла стоит от 2 до 4 млрд. долл. И это нужно окупить за два-три года! Внутренним рынком просто невозможно «съесть» такое количество. И на все про все отведено 20 млн. долл. (Смех в зале.) И приблизительно такую же программу приняло Министерство связи России.
Хотя постепенно к нам приходит понимание того, что на международном рынке «оффшорного» программирования можно работать. Там представлены разные страны: Индия, Ирландия, Венгрия, Израиль. Что касается Индии, то ситуация такова. В 1998 г. было экспортировано ПО на 2 млрд. долл., в 1999 г. — на 4 млрд. долл. Прогноз на 2007 г. — экспорт на 50 млрд. долл., т. е. во много раз превосходящий сумму от продажи вооружений Россией. Сейчас в РАН приходят справки из посольств. Мне, например, пришла справка из Уругвая, который находится на четвертом месте по экспорту ПО. (Хотя экспорт экспорту рознь. Так, на Индию скидывают всю «грязную» работу, в частности тесты, но известно, что все выполняется. Или снимается программа с производства, тогда ее сопровождение передается туда же. Израиль занимается другими вещами, например продажей высокотехнологичных продуктов на предприятиях со смешанным капиталом.) Я думаю, что было бы хорошо, если бы и у нас развивался рынок «оффшорного» программирования. Шансы для этого есть. А поскольку это будет происходить в условиях международной конкуренции, то подтянется и уровень тех компаний, которые работают на внутренний рынок, им придется проходить сертификацию и повышать качество продукции.
Мы должны уметь готовить специалистов, которые смогут работать в сертифицированных высокотехнологичных компаниях. Они должны понимать, что такое процесс разработки. Это уже не та наивная вещь, которая описывается словами проектирование, тестирование, сопровождение. Сейчас значительно более сложные модели разработки, отражающие современную технологию. Причем рынок требует от нас, чтобы специалист, которого мы выпускаем, мог уже через неделю включиться в процесс разработки. Такого 20—30 лет назад не было. Я помню дискуссию в журнале Computer о том, что такое Software Engineering, стоит ли это вообще преподавать в университетах и каким образом. Ведь профессиональный преподаватель университета никогда не писал больших программ. Чтобы написать программу перемножения матриц, мне не нужна технология программирования. А человек с производства не имеет педагогического опыта и зашорен.
К сожалению, организации сейчас не могут позволить себе доучивать молодого специалиста. Есть, конечно, фирмы «с перекрытием», где это делают, но их немного. Можем ли мы выпустить подготовленного специалиста? Сегодняшние наши выпускники не отвечают требованиям рынка. Теоретически они никогда не будут им соответствовать — всегда будет желание улучшить. Что же надо делать?
Что более или менее у нас хорошо — так это фундаментальная подготовка, именно она позволяет специалистам быстро адаптироваться к новым технологиям, и они быстрее их усваивают. Необходимо ли учить долговременным компонентам технологии? Их надо обязательно давать.
Мы также сталкиваемся со следующими вещами. Вот график распределения сотрудников по возрастам.
Раньше после 60 лет не было вообще никого. Еще 10—15 лет назад специалисты от 30 до 45 лет были самыми продуктивными — у них мощная база и они еще не утратили многих важных качеств, которые с возрастом, естественно, слабеют, — фантазии, способности считать и усваивать новый материал. Сейчас сложилась другая картина. Где они, 30—45-летние? В принципе знаю где. Только в Торонто работают 12 человек из нашего института (системного программирования. — Прим. ред.), та же картина и в МГУ. А нам сегодня нужно учить ребят так, чтобы и через три года они соответствовали требованиям рынка. Как это сделать?
После 40 лет очень трудно осваивать новые технологии, хотя есть обширная база и много примеров накоплено в голове. Значит, надо учитывать, что к старшей возрастной группе частично следует отнести наряду с дедушками отцов (и матерей, конечно) и старших братьев. И больше вовлекать молодых ребят, и прежде всего аспирантов, в работу по Software Engineering, по новым технологиям. Несмотря на то что опыта мало, но работать все-таки можно.
Поскольку МГУ становится специфическим производством, он должен постоянно отстаивать свои позиции на рынке труда. Это прежде всего сертификация. И сейчас такая сертификация происходит. Существуют стандарты подготовки. Есть организации, которые проводят сертификацию учебных заведений на соответствие этим требованиям. Следует учесть и такой момент, как участие в некоем соревновании между аналогичными учебными заведениями, чтобы занять достойное место среди себе подобных. Мы можем сколько угодно говорить о том, что МГУ — самый замечательный университет в мире. Это нужно доказывать, в частности участвуя в международных соревнованиях. И нам здесь есть чем гордиться: команда факультета ВМК заняла второе место на крупных международных соревнованиях. Первое место заняла команда С.-Петербургского университета, но ведь они — профессионалы. Это даже не слишком хорошо, что они занимаются исключительно подготовкой к олимпиадам. Для нас важна стабильность, нам хочется, чтобы команда ВМК регулярно попадала в десятку лучших, это будет демонстрировать уровень преподавания и подготовки студентов.
Возвращаюсь к началу своего выступления. Университет — это предприятие со своим местом на рынке и своим специфическим бизнесом. И вот об этом я и хотел немножко поговорить.
(Аплодисменты.)
Мир ПК: Теперь мы предоставляем слово желающим выступить из зала.
Ольга Китова, Software AG
Спасибо организаторам этой встречи. Я представляю компанию—ровесницу факультета ВМК. Последнее время наша фирма сфокусировалась на технологиях для создания Internet-приложений для бизнеса. Она является партнером факультета ВМК. Преподавание каких же технологий, мне, как представителю компании, хотелось бы видеть на достаточно высоком уровне? Для создания Internet-приложений, особенно ориентированных на бизнес, очень важно владеть технологией объектного программирования и компонентными технологиями (по мнению «Гартнер Груп» к 2001 г. 60% всех программ будут создаваться из компонент). Всем вам известны такие технологии, как COM, DCOM, Enterprise Java Beans и CORBA. Все серьезные компании сейчас обдумывают переход на компонентную технологию, и наша здесь не исключение.
На место структурированной информации в традиционных базах данных приходят технологии полуструктурированные, в частности технология XML. Они, естественно, новые, но хотелось бы, чтобы их преподавали на факультете. И наконец, для Internet-приложений очень важна технология Middleware — промежуточный слой ПО, который позволяет интегрировать уже существующие приложения с новыми.
В связи с юбилеем факультета мне бы хотелось отметить тот приятный факт, что здесь отдают должное новым технологиям. Например, с сентября 2000 г. на кафедре системного программирования планируется начать курс XML (на базе сервера нашей компании Tamino), возможно, будет курс по Middleware. И я как представитель компании Software AG, заверяю, что мы будем стараться помочь факультету и организационно, и методически, и финансово.
В своем выступлении В.П. Иванников говорил об «оффшорном» программировании. Наша компания предполагает создать в Москве на базе РАН и, возможно, с привлечением ВМК МГУ центр такого программирования. Я призываю всех изучать новые технологии и сотрудничать с нами. Спасибо.
(Аплодисменты.)
Юрий Матвеевич Бояковский, Лаборатория компьютерной графики МГУ
Мне хотелось бы сделать замечания, касающиеся всех трех основных выступлений. Здесь говорилось о том, что производительность вычислительных машин растет и будет расти, они будут совершенствоваться и т. д. А вот фирма Apple пришла к выводу, что технологические возможности компьютеров во многом исчерпаны, и стала изменять их внешний вид, в частности цвет. При этом они ссылались на опыт автомобильной промышленности, которая в 20—30-е годы поняла, что технологические возможности совершенствования автомобиля исчерпаны, и обратила внимание на цвет. Наряду с черными или белыми автомобилями начали выпускать и цветные.
И еще о формировании рынка. Сейчас конструктор/производитель компьютеров определяет, где есть еще ниша для его изделий. Вопрос в том, как это внедрить в сознание, чтобы получше продать.
Теперь по поводу образования. Действительно, это рынок. Но очень изменилась ситуация. У нас всегда было хорошее практическое образование. Но теперь другие потребности. Вот ко мне обратились с просьбой найти хорошего программиста, системщика, но такого, чтобы разбирался в анимации, обладал хорошим художественным вкусом и имел задатки лидера, и мы из него в итоге вырастили бы менеджера. На самом деле меняются и обстановка, и технология обработки. Курсы, которые мы читаем, резко отличаются от классических, например от курса физики, поскольку если раньше в основном требовались знание и запоминание, то теперь нужно научить навыкам, что в определенном смысле даже сложнее. Фактически эти курсы — экспериментальные. Возникает индустрия изготовления курсов. Если раньше курсы были авторскими, то теперь возникает новая технология их подготовки, когда к работе привлекаются сразу несколько человек. Работает бригада — ответственный за конспект, ответственный за дизайн, программист, технический редактор и т. д. У западных профессоров есть до шести ассистентов, которые работают над составлением. А у нас все приходится делать одному. Каким образом это осуществить?
Лет десять назад подобные курсы предполагали создание под них лабораторий или кафедр, но в любом случае это должна была быть отдельная ячейка со своей структурой и оборудованием, которая обеспечивала бы студентам возможность работать на этой технике. Сейчас уже существует Лаборатория компьютерной графики, финансируемая американским Фондом научных исследований, где сочетаются преподавание и исследовательская деятельность, в которую вовлекают и студентов. Там разрабатываются крупные проекты, и она имеет много спонсоров. Следует иметь в виду, что у них такие структуры появились десять лет назад, а у нас стали создаваться только сейчас. И теперь преподавателю приходится становиться менеджером, который должен найти заказчиков и организовать работу студентов в реальных проектах. Задача изменилась: профессора из «говорящих голов» превратились в управленцев, а людей, способных сочетать в себе эти две функции, пока немного. Нужен не ментор, а менеджер!
Если мы будем не только воспитывать студентов у доски, но и станем вовлекать в реальную работу, то тогда у нас все получится.
(Аплодисменты, крики одобрения из зала.)
График распределения сотрудников по возрастам |
Всеволод Павлов, Политехнический университет, С.-Петербург
Вопрос заключается в том, чтобы человек, закончивший университет, мог через одну-две недели включиться в реальный производственный процесс. Это очень серьезное требование, однако оно совершенно необходимо для того, чтобы специалист смог работать над проектом, проводимым по мировым стандартам. Время реализации этого проекта в несколько миллионов строк кода измеряется четырьмя-пятью месяцами. И поэтому приходится изучать процесс управления разработкой программного продукта. Это совсем не значит, будто там содержится что-то особенное. Просто хорошо спланированные и отслеживаемые предсказуемые действия. Создать такую атмосферу в студенческом коллективе практически невозможно, так как требуются слишком большие капиталовложения. Но вот моделировать каким-либо образом можно.
У упомянутой ранее системы CNN 3 имеются определенные результаты. Сданная заказчику программа должна содержать не более пяти-семи дефектов на миллион строк кода, которые выявляются за определенный срок после того, как продукт будет сдан и поставлен. Причем это должны быть не ошибки, а просто расхождения с техническим заданием. Вот такие требования и приводят к тому, что люди от методов самообучения переходят к индустриальным способам разработки, где ничего руками уже не сделать. Если вам нужно оттестировать программный продукт, то придется привлекать самые различные Case-средства, программы генерации тестов и т. п. Сейчас дело дошло до того, что в современных проектах стало невозможным работать по старинке, используя обычное программирование. Данный процесс аналогичен переходу от Ассемблеров к языкам высокого уровня типа Си. Это приводит к тому, что первые документы на будущую программу стараются писать на формальных языках.
Наконец-то арсенал, который накопило наше теоретическое программирование, становится востребованным. Наконец-то ищутся различные подходы, которые позволяют в технологии построить нечто, дающее хорошие результаты. И все основные фирмы ведут поиск таких методов, которые позволили бы резко повысить производительность труда и улучшить качество. Конечно, эти методы должны даваться при подготовке студентов.
Кленова Елена, IBS
Я представляю центр программных разработок компании IBS. Эта российская компания была создана в 1992 г., и сейчас в ней работает более тысячи человек. Мы как раз и занимаемся упомянутым ранее «оффшорным» программированием, причем среди наших клиентов IBM (американское отделение), Corel и др. Это нам льстит, поскольку показывает, что работать мы умеем. Мы также сертифицированы по ISO 9000.
Я поддерживаю мысль О. Китовой, представителя Software AG, что необходимо помогать процессу обучения материально, развивая техническую базу, и попробовать предложить проходить стажировку студентам 3—5 курсов, чтобы они смогли поработать в компаниях, имеющих крупных заказчиков. Такие вложения будут оправданны, поскольку, как уже правильно отмечалось, настоящих профессионалов на рынке труда пока еще очень мало. Спасибо.
(Аплодисменты.)
Карякин Дмитрий Александрович, Институт прикладной математики
Стол у нас получился очень уж круглый, а я предпочитаю работать за столом с углами. То, что я здесь услышал относительно подготовки специалистов в университете, вызывает у меня большой протест, поскольку выполнять социальный заказ западной экономики и не учитывать социальный заказ, который существует в нашем обществе и который намного более многозначен и широк, совсем неправомерно. Для того чтобы подготовить специалиста для работы на фирме, не нужно учить его пять лет в российском высшем учебном заведении, лучшем в мире. Для этого достаточно двух лет подготовки, как раньше это делалось в наших техникумах, а затем нужно погрузить его в среду компании так, как предложила выступившая ранее коллега из IBS. И там он пусть тренируется работать в «оффшорной» зоне или еще где-нибудь крапать. (Реплика из зала: Кирпичики складывать!). Это то же самое, что и система Форда, когда ставили рабочих на конвейер и они быстро изготовляли продукт качественный и массовый, но не заканчивали для этого университетов. Специалисты, выходящие после пятилетней подготовки из стен университета, должны иметь высокую квалификацию. Мы должны учить людей не знаниям, а процессу овладения ими, поскольку запастись ими на всю жизнь невозможно. И поэтому университет должен преследовать совсем другие цели.
(Аплодисменты.)
Коллега из IBS
IBS стремится не взять людей с двухлетней подготовкой, а потом натаскивать. Когда студент приходит на работу, ему очень тяжело, он не знает современных технологий и с трудом включается в производственный процесс. Его приходится учить. Тем не менее мы делаем упор именно на студентов, поскольку их обучить гораздо проще, чем натаскивать человека в возрасте за 30. У нас работают много студентов. И мы интересуемся не только «кодерами», которые будут собирать что-либо из «кирпичиков», но теми, кто будет заниматься и проектированием, и дизайном, а для этого нужно достаточно хорошее образование.
Реплика из президиума: А нужно ли для дизайна хорошее образование?
IBS: Да.
Реплика из зала: Дизайн — те же кирпичи! Да ну что вы, это те же кирпичи!
IBS: Нужно очень хорошо разрабатывать архитектуру.
Замечание из зала: Я полностью согласен с предыдущим докладчиком. В университете нужно учить чистому, классическому, а не тому мимолетному, что приходит и уходит. Сегодня XML, а завтра...
В.П. Иванников: Меня неправильно поняли. Я говорил о фундаментальном образовании как об основе, а приходящему тоже надо учить! Я ни в коем случае не говорил того, что вы мне приписали!
Мир ПК: Искренне благодарим всех принявших участие в этой встрече. Хочется надеяться, что они будут продолжены. Затронутая сегодня тема далеко не исчерпана, но мы уже обдумываем новые. Редакция будет весьма признательна всем, кто выскажет свои пожелания и предложения. До новых встреч за «круглым столом»!