". ">
stringtranslate.com

Andrei Alexandrescu

Tudor Andrei Cristian Alexandrescu [4] (nacido en 1969) es un programador y autor rumano-estadounidense en lenguaje C++ y D [3] . Es particularmente conocido por su trabajo pionero en el diseño basado en políticas implementado mediante metaprogramación de plantillas . Estas ideas se articulan en su libro Modern C++ Design y se implementaron por primera vez en su biblioteca de programación, Loki . También implementó el concepto de " constructores de movimientos " en su biblioteca MOJO. [5] Contribuyó al C/C++ Users Journal bajo el título "Generic<Programación>".

Se convirtió en ciudadano estadounidense en agosto de 2014. [6]

Educación y carrera

Alexandrescu recibió una licenciatura en Ingeniería Eléctrica de la Universidad Politécnica de Bucarest ( Universitatea Politehnica din București ) en julio de 1994. [7] [8]

Su primer artículo se publicó en C/C++ Users Journal en septiembre de 1998. Fue director de programas de Netzip, Inc. desde abril de 1999 hasta febrero de 2000. Cuando la empresa fue adquirida por RealNetworks, Inc. , trabajó allí como desarrollador gerente desde febrero de 2000 hasta septiembre de 2001. [7]

Alexandrescu obtuvo una maestría (2003) y un doctorado (2009) en informática de la Universidad de Washington . [9] [10] [11]

En 2006, Alexandrescu comenzó a ayudar a Walter Bright en el desarrollo del lenguaje de programación D. [12] Publicó un libro titulado The D Programming Language en mayo de 2010.

De 2010 a 2014, Alexandrescu, Herb Sutter y Scott Meyers organizaron una pequeña conferencia técnica anual llamada C++ and Beyond .

Alexandrescu trabajó como investigador científico en Facebook durante más de cinco años, antes de dejar la empresa en agosto de 2015 para centrarse en el desarrollo del lenguaje de programación D. [13]

En enero de 2022, Alexandrescu comenzó a trabajar en Nvidia como investigador científico principal. [14]

Contribuciones

Esperado

Se espera una clase de plantilla para C++ que se encuentra en la ruta de Estándares de C++. [15] [16] Alexandrescu propone [17] Expected<T> como una clase para usar como valor de retorno que contiene una T o la excepción que impide su creación, lo cual es una mejora con respecto al uso exclusivo de códigos de retorno o excepciones. Se puede considerar lo esperado como una restricción de tipos de suma (unión) o tipos de datos algebraicos en varios lenguajes, por ejemplo, Hope o el más reciente Haskell y Gallina ; o del mecanismo de manejo de errores de Go de Google , o del tipo de Resultado en Rust .

Explica los beneficios de Expected<T>como:

Ejemplo

Por ejemplo, en lugar de cualquiera de los siguientes prototipos de funciones comunes:

int parseInt(const string&); // Returns 0 on error and sets errno.

o

int parseInt(const string&); // Throws invalid_input or overflow

propone lo siguiente:

Expected<int> parseInt(const string&); // Returns an expected int: either an int or an exception

Guardia de alcance

Desde 2000 [18] en adelante, Alexandrescu ha defendido y popularizado el lenguaje de guardia de alcance. Lo introdujo como una construcción del lenguaje en D. [19] Ha sido implementado por otros en muchos otros lenguajes. [20] [21]

Bibliografía

Referencias

  1. ^ "Erdani.com".
  2. ^ andralex (14 de agosto de 2014). "No". Reddit . Archivado desde el original el 16 de junio de 2022.
  3. ^ ab Metz, Cade (7 de julio de 2014). "El próximo gran lenguaje de programación del que nunca has oído hablar". Cableado . Consultado el 27 de julio de 2014 . Hoy en día, Alexandrescu es científico investigador en Facebook, donde él y un equipo de codificadores están utilizando D para remodelar pequeñas partes de las operaciones masivas de la empresa.
  4. ^ "La Fundación del Lenguaje D". dlang.org . Consultado el 5 de junio de 2024 .
  5. ^ Alexandrescu, Andrei (1 de febrero de 2003). "Mover constructores". Diario del Dr. Dobb . Archivado desde el original el 7 de mayo de 2009 . Consultado el 25 de marzo de 2009 .
  6. ^ "Hace dieciséis años, a los 28, aterricé en Nueva York con 300 dólares a mi nombre. Hoy me convertí en ciudadano estadounidense. ¡Ha sido un viaje salvaje que espero que continúe!: fotografías". 14 de agosto de 2014.
  7. ^ ab "Andrei Alexandrescu: currículum". Archivado desde el original el 7 de abril de 2011.
  8. ^ Conferencia de primavera de ACCU 2001 Archivado el 11 de agosto de 2011 en Wayback Machine.
  9. ^ "ACCU :: Oradores". miembros.accu.org .
  10. ^ "ACCU :: Oradores". miembros.accu.org .
  11. ^ Ingeniería y Ciencias de la Computación, Doctorado reciente. Graduados (verano de 2009). Mark Universidad de Washington.
  12. ^ "Acerca de Andrei Alexandrescu, doctorado".
  13. ^ "Avanzando con el trabajo en el lenguaje D y su base". 25 de agosto de 2015 . Consultado el 28 de agosto de 2015 .
  14. ^ "Andréi Alexandrescu". LinkedIn.com . Consultado el 15 de diciembre de 2023 .
  15. ^ [ Botet; Talbot. "Una propuesta para agregar una clase de utilidad para representar la mónada esperada" (PDF) . Archivado desde el original (PDF) el 19 de agosto de 2014.
  16. ^ "STD-make/P0323r2.md en master · viboes/STD-make". GitHub . 21 de octubre de 2021.
  17. ^ Alexandrescu. "Manejo sistemático de errores en C++". Archivado desde el original el 25 de abril de 2013.
  18. ^ Andréi Alexandrescu; Petru Marginean. "Genérico: cambie la forma de escribir código seguro para excepciones, para siempre". Archivado desde el original el 1 de octubre de 2012.
  19. ^ "Seguridad de excepciones: lenguaje de programación D".
  20. ^ "Scope::Guard - gestión de recursos con alcance léxico - metacpan.org". metacpan.org .
  21. ^ "Guardia alcance - Óxido".

enlaces externos