Alexander Alexandrovich Stepanov ( ruso : Алекса́ндр Алекса́ндрович Степа́нов ; nacido el 16 de noviembre de 1950 en Moscú ) es un programador informático ruso-estadounidense , mejor conocido como defensor de la programación genérica y como el principal diseñador e implementador de la biblioteca de plantillas estándar de C ++ , [1 ] que comenzó a desarrollar alrededor de 1992 mientras trabajaba en HP Labs . Anteriormente había estado trabajando para Bell Labs cerca de Andrew Koenig y trató de convencer a Bjarne Stroustrup de que introdujera algo como genéricos Ada en C ++.[2] Se le atribuye la noción de concepto . [3] [4]
Es el autor (con Paul McJones ) de Elements of Programming , [5] un libro que surgió de un curso de "Fundamentos de la programación" [6] que Stepanov enseñó en Adobe Systems (mientras trabajaba allí). También es autor (con Daniel E. Rose) de From Mathematics to Generic Programming . [7]
Biblioteca de plantillas estándar y programación genérica
Alexander Stepanov es un defensor de la programación genérica . Aunque David Musser ya había desarrollado y defendido algunos aspectos de la programación genérica en 1971, estaba limitada a un área bastante especializada del desarrollo de software ( álgebra informática ).
Stepanov reconoció el potencial total de la programación genérica y convenció a sus entonces colegas de Investigación y Desarrollo de General Electric (incluidos, principalmente, David Musser y Deepak Kapur) de que la programación genérica debería perseguirse como una base integral para el desarrollo de software. En ese momento, no había soporte real en ningún lenguaje de programación para programación genérica.
El primer lenguaje importante que proporcionó dicho apoyo fue Ada , con su función de unidades genéricas. En 1987, Stepanov y Musser habían desarrollado y publicado una biblioteca Ada para el procesamiento de listas que incorporaba los resultados de gran parte de su investigación sobre programación genérica. Sin embargo, Ada no había logrado mucha aceptación fuera de la industria de la defensa y parecía más probable que C ++ se usara ampliamente y proporcionara un buen soporte para la programación genérica, aunque el lenguaje era relativamente inmaduro. Otra razón para recurrir a C ++, que Stepanov reconoció desde el principio, fue que el modelo de cálculo C / C ++ (que permite un acceso muy flexible al almacenamiento a través de punteros ) es crucial para lograr la generalidad sin perder eficiencia . Eventualmente condujo al desarrollo de la biblioteca de plantillas estándar de C ++ .
Ver también
Referencias
- ↑ Stepanov, Alexander ; Lee, Meng (14 de noviembre de 1995). "La biblioteca de plantillas estándar" . Informe técnico de HP Laboratories 95-11 (R.1).
- ^ Stroustrup, Bjarne (9 de junio de 2007). "Evolución de un lenguaje en y para el mundo real: C ++ 1991-2006" . Actas de la tercera conferencia ACM SIGPLAN sobre Historia de los lenguajes de programación : 4-1–4-59. doi : 10.1145 / 1238844.1238848 . ISBN 978-1-59593-766-7. S2CID 7518369 .
- ^ un poco de antecedentes para conceptos y C ++ 17 — Bjarne Stroustrup , por Bjarne Stroustrup | 26 de febrero de 2016
- ^ Alex Stepanov , por Bjarne Stroustrup | 21 de enero de 2016
- ^ Stepanov, Alexander ; McJones, Paul (2009). Elementos de programación . Addison-Wesley. ISBN 978-0-321-63537-2.
- ^ Stepanov, Alexander (2007). Notas sobre programación (PDF) .
- ^ Stepanov, Alexander A .; Rose, Daniel E. (2015). De las matemáticas a la programación genérica . Addison-Wesley. ISBN 978-0321942043.
- ↑ Alex Retirement , 14 de enero de 2016
Otras lecturas
- Stepanov, Alexander . "STLport: una entrevista con A. Stepanov" . Consultado el 21 de abril de 2010 .
enlaces externos
- Documentos recopilados de Alexander A. Stepanov
- Una entrevista de Stepanov, de STLport , 1997
- Otra entrevista , del Dr. Dobbs , marzo de 1995
- Adaptadores de partición de rango Una biblioteca multiproceso basada en STL, inspirada en un artículo de Alexander Stepanov.
- Una entrevista de Andrew Binstock con Alexander Stepanov y Paul McJones sobre Elements of Programming .
- A9 Video conferencias de Alexander Stepanov.