Andrei Alexandrescu - Andrei Alexandrescu
Andrei Alexandrescu | |
---|---|
Nascer | 1969 (idade 51-52) |
Nacionalidade | Romeno , americano |
Educação | Politehnica University of Bucareste e Universidade de Washington |
Ocupação | Desenvolvedor da linguagem de programação D |
Conhecido por | Especialista em programação C ++ e D |
Cônjuge (s) | Sanda Alexandrescu |
Local na rede Internet | erdani |
Andrei Alexandrescu (nascido em 1969) é um programador e autor das linguagens C ++ e D romeno-americano . Ele é particularmente conhecido por seu trabalho pioneiro em design baseado em políticas implementado por meio de metaprogramação de modelo . Essas ideias são articuladas em seu livro Modern C ++ Design e foram implementadas pela primeira vez em sua biblioteca de programação, Loki . Ele também implementou o conceito de " mover construtores " em sua biblioteca MOJO. Ele contribuiu para o C / C ++ Users Journal com a assinatura "Generic <Programming>". Alexandrescu trabalhou como cientista pesquisador no Facebook , antes de deixar a empresa em agosto de 2015 para se concentrar no desenvolvimento da linguagem de programação D.
Ele se tornou cidadão americano em agosto de 2014.
Educação e carreira
Alexandrescu recebeu um diploma de BS em Engenharia Elétrica da Universidade Politécnica de Bucareste ( Universitatea Politehnica din București ) em julho de 1994.
Seu primeiro artigo foi publicado no C / C ++ Users Journal em setembro de 1998. Ele foi gerente de programa da Netzip, Inc. de abril de 1999 a fevereiro de 2000. Quando a empresa foi adquirida pela RealNetworks, Inc. , ele atuou lá como desenvolvedor gerente de fevereiro de 2000 a setembro de 2001.
Alexandrescu obteve um MS (2003) e um Ph.D. (2009) em ciência da computação pela Universidade de Washington .
Mais recentemente, ele tem ajudado Walter Bright no desenvolvimento da linguagem de programação D . Alexandrescu lançou um livro intitulado The D Programming Language em maio de 2010.
De 2010 a 2014, Alexandrescu, Herb Sutter e Scott Meyers realizaram uma pequena conferência técnica anual chamada C ++ and Beyond .
Contribuições
Esperado
Esperada é uma classe de modelo para C ++ que está no caminho dos Padrões C ++. Alexandrescu propõe Expected<T>
uma classe para uso como um valor de retorno que contém um T ou a exceção que impede sua criação, que é uma melhoria em relação ao uso de códigos de retorno ou exceções exclusivamente. Esperado pode ser considerado uma restrição de tipos de soma (união) ou tipos de dados algébricos em várias línguas, por exemplo, Esperança ou os mais recentes Haskell e Gallina ; ou do mecanismo de tratamento de erros do Go do Google , ou do tipo Result no Rust .
Ele explica os benefícios de Expected<T>
:
- Associa erros com objetivos computacionais
- Naturalmente, permite várias exceções em andamento
- Alternar entre os estilos de "tratamento de erros" e "lançamento de exceções"
- Teleportação possível através dos limites do thread, através dos limites do subsistema nothrow e através do tempo (salve agora, jogue depois)
- Colete, agrupe, combine exceções
Exemplo
Por exemplo, em vez de qualquer um dos seguintes protótipos de função comuns:
int parseInt(const string&); // Returns 0 on error and sets errno.
ou
int parseInt(const string&); // Throws invalid_input or overflow
ele propõe o seguinte:
Expected<int> parseInt(const string&); // Returns an expected int: either an int or an exception
Scope guard
De 2000 em diante, Alexandrescu defendeu e popularizou o idioma do protetor de escopo. Ele o introduziu como uma construção de linguagem em D. Ele foi implementado por outros em muitas outras linguagens.
Bibliografia
- Andrei Alexandrescu (fevereiro de 2001). Projeto C ++ Moderno : Programação Genérica e Padrões de Projeto Aplicados . Addison-Wesley. ISBN 978-0-201-70431-0.
- Herb Sutter , Andrei Alexandrescu (novembro de 2004). Padrões de codificação C ++: 101 regras, diretrizes e práticas recomendadas . Addison-Wesley. ISBN 978-0-321-11358-0.
- Andrei Alexandrescu (junho de 2010). A programação D Idioma . Addison-Wesley. ISBN 978-0-321-63536-5.
Referências
links externos
- Página inicial de Alexandrescu - contém links para bibliotecas Loki para download para vários compiladores .
- (em romeno) Interviu MONEY.ro: Facebook face angajări în România , 1 de março de 2010