Bjarne Stroustrup
Bjarne Stroustrup (danés: [ˈbjaːnə ˈstʁʌwˀstʁɔp]; nacido el 30 de diciembre de 1950) es un informático danés, más notable por la invención y el desarrollo del lenguaje de programación C++. Desde julio de 2022, Stroustrup es profesor de Ciencias de la Computación en la Universidad de Columbia.
Vida temprana y educación
Stroustrup nació en Aarhus, Dinamarca. Su familia era de clase trabajadora y él iba a las escuelas locales.
Asistió a la Universidad de Aarhus entre 1969 y 1975 y se graduó con una maestría en matemáticas e informática. Sus intereses se centraron en la microprogramación y la arquitectura de máquinas. Aprendió los fundamentos de la programación orientada a objetos de su inventora, Kristen Nygaard, quien visitaba frecuentemente Aarhus.
En 1979, recibió un doctorado en informática de la Universidad de Cambridge, donde fue supervisado por David Wheeler. Su tesis se refería a la comunicación en sistemas informáticos distribuidos.
Carrera
En 1979, Stroustrup comenzó su carrera como miembro del personal técnico en el Centro de Investigación de Ciencias Informáticas de Bell Labs en Murray Hill, Nueva Jersey, EE. UU. Allí comenzó su trabajo en C++ y técnicas de programación. Stroustrup era el jefe de AT&T Bell Labs' Departamento de investigación de programación a gran escala, desde su creación hasta finales de 2002. En 1993, fue nombrado becario de Bell Labs y en 1996, becario de AT&T.
De 2002 a 2014, Stroustrup fue profesor de la Cátedra de Ciencias de la Computación de la Facultad de Ingeniería en la Universidad de Texas A&M. A partir de 2011, fue nombrado Profesor Distinguido de la Universidad.
Desde enero de 2014 hasta abril de 2022, Stroustrup fue miembro técnico y director general de la división de tecnología de Morgan Stanley en la ciudad de Nueva York y profesor invitado de informática en la Universidad de Columbia.
Desde julio de 2022, Stroustrup es profesor de informática en la Universidad de Columbia.
C++
Stroustrup es mejor conocido por su trabajo en C++. En 1979, comenzó a desarrollar C++ (inicialmente llamado "C con Clases"). En sus propias palabras, "inventó C++, escribió sus primeras definiciones y produjo su primera implementación [...] eligió y formuló los criterios de diseño para C++, diseñó todas sus funciones principales y fue responsable del procesamiento de propuestas de extensión en el comité de estándares de C++." C ++ estuvo disponible para el público en general en 1985. Para uso no comercial, el código fuente del compilador y las bibliotecas básicas tenían el costo de envío (75 dólares estadounidenses); esto fue antes de que el acceso a Internet fuera común. Stroustrup también publicó un libro de texto para el lenguaje en 1985, El lenguaje de programación C++.
Las áreas técnicas y lingüísticas clave de contribución de C++ son:
- Un sistema de tipo estático con igual soporte para tipos incorporados y tipos definidos por el usuario (que requiere control de la construcción, destrucción, copia y movimiento de objetos; y sobrecarga del operador).
- Valor y referencia semántica.
- Gestión sistemática y general de los recursos (RAII): constructores, destructores y excepciones que dependen de ellos.
- Soporte para una programación eficiente orientada al objeto: basado en el modelo Simula con interfaces comprobadas estadísticamente, múltiples herencias y aplicación eficiente basada en tablas de funciones virtuales.
- Apoyo a la programación genérica flexible y eficiente: plantillas con especialización y conceptos.
- Apoyo para la programación de tiempo de compilación: metaprogramación de plantillas y funciones evaluadas en tiempo de compilación ("funciones contexpr").
- Uso directo de los recursos de máquina y sistema operativo.
- Apoyo de conformidad a través de bibliotecas (cuando sea necesario, implementadas utilizando intrínsecos).
Stroustrup documentó sus principios que guían el diseño de C++ y la evolución del lenguaje en su libro de 1994, The Design and Evolution of C++, y tres artículos para la Historia de los lenguajes de programación de ACM. conferencias
Stroustrup fue miembro fundador del comité de estándares de C++ (desde 1989, fue un comité ANSI y desde 1991 un comité ISO) y ha permanecido como miembro activo desde entonces. Durante 24 años presidió el subgrupo autorizado para manejar propuestas de extensiones lingüísticas (Evolution Working Group).
Premios y distinciones
Honores seleccionados
- 2018: Premio Charles Stark Draper de la Academia Nacional de Ingeniería de EE.UU. para conceptualizar y desarrollar el lenguaje de programación C++.
- 2018: El Premio Computer Pioneer de la Sociedad de Computación IEEE por traer programación orientada al objeto y programación genérica a la corriente principal con su diseño e implementación del lenguaje de programación C++.
- 2017: La Medalla Faraday del IET (Institute of Engineering Technology) para contribuciones significativas a la historia de la informática, en particular pionera el lenguaje de programación C++.
- 2010: La Universidad de Aarhus Rigmor og Carl Holst-Knudsens Videnskabspris.
- 2005: El Premio William Procter para el logro científico de Sigma Xi (la sociedad de investigación científica) como el primer científico informático.
- 1993: La ACM Grace Murray Premio Hopper por su trabajo inicial que sienta las bases para el lenguaje de programación C++. Sobre la base de esos cimientos y los continuos esfuerzos del Dr. Stroustrup, C++ se ha convertido en uno de los lenguajes de programación más influyentes de la historia de la informática.
Becas
- Miembro de la Academia Nacional de Ingeniería en 2004.
- Fellow of the Association for Computing Machinery (ACM) in 1994.
- Fellow of the Institute of Electrical and Electronics Engineers (IEEE) in 1994.
- Miembro del Museo de Historia de la Computación para su invención del lenguaje de programación C++ en 2015.
- Miembro honorario de Churchill College, Cambridge en 2017.
Doctorados honorarios y cátedras
- Fue galardonado con un doctorado honorario de la Universidad Carlos III, España 2019.
- Stroustrup ha sido un noble doctor en la Universidad de ITMO desde 2013.
- Profesor Honorario en Lenguas de programación orientadas a objetos, Departamento de Ciencias de la Computación, Universidad de Aarhus. 2010.
Publicaciones
Stroustrup ha escrito o coescrito varias publicaciones, incluidos los libros:
- Un Tour de C++ (primera y segunda edición)
- Programación: Principios y prácticas Utilizando C++
- El lenguaje de programación C++ (primera, segunda, tercera y cuarta edición)
- El diseño y la evolución de C++
- El anotado C++ Manual de referencia.
En total, estos libros se han traducido a 21 idiomas.
Más de 100 artículos académicos, incluidos:
- B. Stroustrup: Conducir en un mundo concurrido y cambiante: C+++ 2006–2020. ACM/SIGPLAN Historia de la programación Conferencia de idiomas, HOPL-IV. Londres. Junio 2020.
- B. Stroustrup: Evolución de un lenguaje en y para el mundo real: C++ 1991–2006. ACM HOPL-III. Junio de 2007.
- B Stroustrup: ¿Qué debemos enseñar a los desarrolladores de software? ¿Por qué? CACM. Enero 2010.
- Gabriel Dos Reis y Bjarne Stroustrup: Una Representación Principada, Completa y Eficiente de C++. Journal of Mathematics in Computer Science Volume 5, Issue 3 (2011), Page 335–356 doi:10.1007/s11786-011-0094-1. Cuestión especial sobre la solución del sistema polinomio, el sistema y el control y la ciencia del software.
- Gabriel Dos Reis y Bjarne Stroustrup: Expresiones Generales de Constante para Lenguas de Programación del Sistema. SAC-2010. The 25th ACM Symposium on Applied Computing. Marzo de 2010.
- Sí. Solodkyy, G. Dos Reis y B. Stroustrup: Open and Efficient Type Switch for C++. Proc. Ramala'12.
- Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup: Diseño y Evaluación de C++ Open Multi-Methods. In Science of Computer Programming (2009). Elsevier Journal. Junio de 2009. doi:10.1016/j.scico.2009.06.002.
- Gabriel Dos Reis y Bjarne Stroustrup: Especificación de conceptos C++. POPL06. Enero de 2006.
- B. Stroustrup: Excepción Seguridad: Conceptos y Técnicas. En Springer Verlag Lecture Notes in Computer Science, LNCS-2022. ISSN 0302-9743. ISBN 3-540-41952-7. April 2001.
- B Stroustrup: Generalizing Overloading for C++2000. Overload, Issue 25. 1 April 1998.
- B. Stroustrup: ¿Por qué C++ no es sólo un lenguaje de programación orientado a objetos? Adición a Proceedings. Meta Messenger, vol 6 no 4, pp 1–13. Octubre de 1995.
- B. Stroustrup: Una historia de C++: 1979–1991. Proc ACM Historia de la programación Lenguas conferencia (HOPL-2). ACM Sigplan Avisos. Vol 28 No 3, pp 271–298. Marzo de 1993. También, Historia de lenguajes de programación (edidores T.J. Begin y R.G. Gibson) Addison-Wesley, 1996.
- B. Stroustrup: ¿Qué es la programación orientada a objetos? (versión revisada de 1991). Proc. Primer Festival de Software Europeo. Febrero de 1991.
- B. Stroustrup: Data Abstraction in C. Bell Labs Technical Journal. vol 63. no 8 (Part 2), pp 1701-1732. Octubre de 1984.
- B. Stroustrup: Clases: Una instalación de tipo de datos abstracto para el lenguaje C. Avisos de Sigplan, enero de 1982.
Más de cien informes técnicos para el comité de estándares de C++ (WG21)
Contenido relacionado
386BSD
Autocodificación Atlas
IBMAIX