Andrei Alexandrescu - Andrei Alexandrescu
Andrei Alexandrescu | |
---|---|
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 |
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
- Página de inicio de Alexandrescu : contiene enlaces a bibliotecas Loki descargables para varios compiladores .
- (en rumano) Interviu MONEY.ro: Facebook face angajări în România , 1 de marzo de 2010