Andrei Alexandrescu - Andrei Alexandrescu

Andrei Alexandrescu
AndreiAlexandrescu.jpg
Alexandrescu en ACCU 2009
Nació 1969 (51 a 52 años de edad)
Nacionalidad Rumano , americano
Educación Universidad Politécnica de Bucarest y Universidad de Washington
Ocupación Desarrollador del lenguaje de programación D
Conocido por Experto en programación C ++ y D
Esposos) Sanda Alexandrescu
Sitio web erdani .org

Andrei Alexandrescu (nacido en 1969) es un programador y autor de lenguajes C ++ y D rumano-estadounidense . Es particularmente conocido por su trabajo pionero en el diseño basado en políticas implementado a través de la 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 " mover constructores " en su biblioteca MOJO. Él contribuyó a las ++ usuarios de C / C Journal bajo el carril "genérico <Programación>". Alexandrescu trabajó como científico investigador en Facebook , antes de dejar la empresa en agosto de 2015 para centrarse en el desarrollo del lenguaje de programación D.

Se convirtió en ciudadano estadounidense en agosto de 2014.

Educación y carrera

Alexandrescu recibió un BS grado en Ingeniería Eléctrica de la Universidad Politécnica de Bucarest ( Universitatea Politehnica din Bucuresti ) en julio de 1994.

Su primer artículo fue publicado en el C / C ++ Users Journal en septiembre de 1998. Fue gerente de programas de Netzip, Inc. desde abril de 1999 hasta febrero de 2000. Cuando la compañía fue adquirida por RealNetworks, Inc. , se desempeñó allí como desarrollador. gerente desde febrero de 2000 hasta septiembre de 2001.

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

Más recientemente, ha estado ayudando a Walter brillante en el desarrollo del lenguaje de programación D . Alexandrescu 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 .

Contribuciones

Esperado

Se espera es una clase de plantilla para C ++ que se encuentra en la pista de Estándares de C ++. Alexandrescu propone Expected<T>como clase para su uso 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 de códigos de retorno o excepciones exclusivamente. Se puede pensar en el esperado como una restricción de tipos de suma (unión) o tipos de datos algebraicos en varios idiomas, por ejemplo, Hope o los más recientes Haskell y Gallina ; o del mecanismo de manejo de errores de Go de Google , o el tipo de resultado en Rust .

Explica los beneficios de Expected<T>como:

  • Asocia errores con objetivos computacionales.
  • Naturalmente, permite múltiples excepciones en vuelo.
  • Cambiar entre los estilos de "manejo de errores" y "lanzamiento de excepciones"
  • Es posible la teletransportación a través de los límites del hilo, a través de los límites del subsistema y a lo largo del tiempo (guardar ahora, lanzar después)
  • Recopilar, agrupar, combinar excepciones

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

Protector de alcance

Desde 2000 en adelante, Alexandrescu ha defendido y popularizado el idioma de la protección del visor. Lo ha introducido como una construcción del lenguaje en D. Ha sido implementado por otros en muchos otros idiomas.

Bibliografía

  • Andrei Alexandrescu (febrero de 2001). Diseño C ++ moderno : programación genérica y patrones de diseño aplicados . Addison-Wesley. ISBN 978-0-201-70431-0.
  • Herb Sutter , Andrei Alexandrescu (noviembre de 2004). Estándares de codificación C ++: 101 reglas, pautas y mejores prácticas . Addison-Wesley. ISBN 978-0-321-11358-0.
  • Andrei Alexandrescu (junio de 2010). El lenguaje de programación D . Addison-Wesley. ISBN 978-0-321-63536-5.

Referencias

enlaces externos