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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Александр Степанов
Дата рождения 16 ноября 1950(1950-11-16) (74 года)
Место рождения Москва, СССР
Страна
Род деятельности специалист в области информатики
Научная сфера Программирование
Место работы A9.com[англ.]
Альма-матер МГУ
Известен как Разработчик библиотеки 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[англ.] для работы над реализацией идей обобщённого программирования в виде библиотеки алгоритмов на языке Ада.

В 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[англ.] — дочернем предприятии компании Amazon[3].

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

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

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

Примечания

[править | править код]
  1. 1 2 Jonathan Erickson. Dr. Dobb's Journal Excellence in Programming Award. Dr. Dobb’s Journal (1 марта 1995). Дата обращения: 12 марта 2015. Архивировано 2 апреля 2015 года.
  2. Andrew Binstock. An Interview with Alexander Stepanov and Paul McJones on Elements of Programming. InformIT (3 августа 2009). Дата обращения: 12 марта 2015. Архивировано 19 февраля 2015 года.
  3. John Lacos. From Mathematics to Generic Programming: An Interview with Alexander Stepanov and Daniel Rose. InformIT (16 февраля 2015). Дата обращения: 12 марта 2015. Архивировано 23 марта 2015 года.
  4. [1] Архивная копия от 3 августа 2017 на Wayback Machine, Jan 14, 2016

Литература

[править | править код]
  • Александр Степанов, Пол Мак-Джонс. Начала программирования = Elements of Programming (Hardcover). — М.: «Вильямс», 2011. — 272 с. — ISBN 978-5-8459-1708-9.
  • Роуз Д., Степанов А.А. От математики к обобщённому программированию = From Mathematics to Generic Programming. — М.: «ДМК Пресс», 2015. — 264 с. — ISBN 978-5-97060-379-6. — ISBN 978-5-97060-289-8.
  • Alexander A. Stepanov, Daniel E. Rose. Three Algorithmic Journeys - Self publishing, 2013 - 254 с. - http://stepanovpapers.com/Journeys/Journeys-0.3.pdf