Степанов, Александр Александрович (учёный)
Алекса́ндр Алекса́ндрович Степа́нов (англ. Alexander A. Stepanov) — русско-американский учёный в области информатики и вычислительной техники. Был топ-менеджером компаний SGI, AT&T и Compaq. Наиболее известен как создатель STL (англ. Standard Template Library), ставшей частью стандартной библиотеки языка C++.
Александр Степанов | |
---|---|
Дата рождения | 16 ноября 1950 (73 года) |
Место рождения | Москва, СССР |
Страна | |
Род деятельности | специалист в области информатики |
Научная сфера | Программирование |
Место работы | A9.com[англ.] |
Альма-матер | МГУ |
Известен как | Разработчик библиотеки STL |
Награды и премии | Dr. Dobb’s Excellence in Programming Award |
Сайт | stepanovpapers.com |
Биография
правитьРодился 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.[источник не указан 52 дня] Кроме обобщённого программирования, написал несколько работ по робототехнике, системам хранения данных.[источник не указан 52 дня]Известен также как автор так называемого «теста Степанова», оценивающего качество компиляторов.
Примечания
править- ↑ 1 2 Jonathan Erickson. Dr. Dobb's Journal Excellence in Programming Award . Dr. Dobb’s Journal (1 марта 1995). Дата обращения: 12 марта 2015. Архивировано 2 апреля 2015 года.
- ↑ Andrew Binstock. An Interview with Alexander Stepanov and Paul McJones on Elements of Programming . InformIT (3 августа 2009). Дата обращения: 12 марта 2015. Архивировано 19 февраля 2015 года.
- ↑ John Lacos. From Mathematics to Generic Programming: An Interview with Alexander Stepanov and Daniel Rose . InformIT (16 февраля 2015). Дата обращения: 12 марта 2015. Архивировано 23 марта 2015 года.
- ↑ [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
Ссылки
править- Собрание статей и докладов Александра Степанова (англ.)
- Интервью журналу Эксперт (2003)
- Интервью Алу Стивенсу для DrDobb’s Journal (1995) (англ.)
- Интервью Graziano Lo Russo (1995) (англ.)
- Лекция в компании Яндекс "Наибольшая общая мера последние 2500 лет" часть 1 и часть 2 (2010)
- Перевод интервью Алу Стивенсу для DrDobb’s Journal (1995) Часть 1
- Перевод интервью Алу Стивенсу для DrDobb’s Journal (1995) Часть 2
- Перевод интервью Алу Стивенсу для DrDobb's Journal (1995) Часть 3
- Programming Conversations a course at A9 By Alexander Stepanov and Paramjit Oberoi (2014)
- Efficient Programming with Components at A9 By Alexander Stepanov (2014)
- Four Algorithmic Journeys Part 1: Spoils of the Egyptians
- Four Algorithmic Journeys Part 2: Heirs of Pythagoras
- Four Algorithmic Journeys Part 3: Successors of Peano
- Four Algorithmic Journeys: Epilogue