Степанов, Александр Александрович (учёный)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Александр Степанов
Alexander Stepanov.jpg
Дата рождения 16 ноября 1950(1950-11-16) (68 лет)
Место рождения Москва, СССР
Страна
Научная сфера Программирование
Место работы A9.com[en]
Альма-матер МГУ
Известен как Разработчик библиотеки STL
Награды и премии Dr. Dobb’s Excellence in Programming Award
Сайт stepanovpapers.com

Алекса́ндр Алекса́ндрович Степа́нов (англ. Alexander A. Stepanov) — русско-американский учёный в области информатики и вычислительной техники. Был топ-менеджером компаний SGI, AT&T и Compaq. Наиболее известен как создатель STL (англ. Standard Template Library), ставшей частью стандартной библиотеки языка C++.

Биография[править | править код]

Родился 16 ноября 1950 года в Москве на Остоженке. С 1967 по 1972 год изучал математику в Московском государственном университете. В 1973 году получил диплом учителя математики в Московском областном педагогическом институте имени Крупской (МОПИ)[1].

С 1972 по 1976 годы работал в Институте проблем управления и ЦНИИКА. В команде программистов под руководством Александра Гуревича, участвовал в разработке мини-компьютера для управления гидроэлектростанциями. Занимался разработкой аппаратуры, операционных систем, отладчиков. Первая опубликованная работа относится к этому периоду, была посвящена операционным системам реального времени. В это же время (по его словам, в 1976 году) у него появились идеи, связанные с обобщённым программированием, которые через 15 лет вылились в разработку библиотеки STL.

В 1977 году эмигрировал в США. Начал работать в исследовательском центре компании General Electric в Скенектади, штат Нью-Йорк. В это время работал над языком программирования Tecton, в этой работе принимал участие Дэвид Мюссер (англ. David Musser) — соратник во многих последующих проектах.

В 1983 году стал доцентом (assistant professor) в Политехническом университете Бруклина. Результатом этого периода было создание, совместно с Дэвидом Мюссером и Ароном Кершенбаумом, большой библиотеки компонентов на Scheme (диалект Lisp).

В 1985 году Степанов был вновь приглашён в GE Research для преподавания курса высокоуровневого программирования. Получил грант от GE Research[en] для работы над реализацией идей обобщённого программирования в виде библиотеки алгоритмов на языке Ада.

В 1987 году получил предложение о работе в Bell Laboratories, чтобы реализовать свой подход в виде библиотеки на языке C++. Однако стандарт языка в это время ещё не позволял в полном объёме осуществить задуманное.

В 1988 году перешёл в HP Labs, где первоначально работал над вещами, не связанными с обобщённым программированием: системами хранения данных, дисковыми контроллерами. В 1992 году вернулся к работе над алгоритмами, в конце 1993 года рассказал о своих идеях Энди Кёнигу, который, высоко оценив их, организовал ему встречу с членами Комитета ANSI/ISO по стандарту C++. Уже весной 1994 года библиотека STL, разработанная Степановым, при помощи Менга Ли (англ. Meng Lee) стала частью официального стандарта языка C++.

В 1995 году перешёл в SGI, где первоначально работал над новым вариантом реализации библиотеки STL. С 1999 года — главный инженер подразделения серверов и суперкомпьютеров SGI.

В мае 2000 года перешёл в AT&T как вице-президент и главный архитектор AT&T Laboratories. В декабре того же года перешёл в Compaq как вице-президент и главный учёный.

С ноября 2002 года до ноября 2009 года работал в компании Adobe, где занимался преподаванием программирования[2].

С ноября 2009 работает в A9.com[en] — дочернем предприятии компании Amazon[3].

В 2016 вышел на пенсию.[4]

Награды[править | править код]

В 1995 году получил Dr.Dobb’s Excellence In Programming Award за создание STL, разделив премию с Линусом Торвальдсом[1].

Разное[править | править код]

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

Кроме обобщённого программирования, написал несколько работ по робототехнике, системам хранения данных.

Известен также как автор так называемого «теста Степанова», оценивающего качество компиляторов.

Отец 5 дочерей и 3 сыновей.

Примечания[править | править код]

  1. 1 2 Jonathan Erickson. Dr. Dobb's Journal Excellence in Programming Award. Dr. Dobb’s Journal (01.03.1995).
  2. Andrew Binstock. An Interview with Alexander Stepanov and Paul McJones on Elements of Programming. InformIT (3 августа 2009).
  3. John Lacos. From Mathematics to Generic Programming: An Interview with Alexander Stepanov and Daniel Rose. InformIT (16 февраля 2015).
  4. [1], Jan 14, 2016

Литература[править | править код]

Ссылки[править | править код]