Андрей Александреску | |
---|---|
Рожденный | 1969 (54–55 лет) |
Национальность | Румынский , американский [2] |
Образование | Политехнический университет Бухареста и Вашингтонский университет |
Занятие | Разработчик языка программирования D |
Известный | Эксперт по программированию на C++ и D [3] |
Супруг | Санда Александреску |
Веб-сайт | erdani.org |
Тудор Андрей Кристиан Александреску [4] (родился в 1969 году) — румыно-американский программист и автор на языках C++ и D [3] . Он особенно известен своей новаторской работой по проектированию на основе политик , реализованному с помощью шаблонного метапрограммирования . Эти идеи изложены в его книге Modern C++ Design и впервые были реализованы в его библиотеке программирования Loki . Он также реализовал концепцию « конструкторов перемещения » в своей библиотеке MOJO. [5] Он внес вклад в C/C++ Users Journal под подписью «Generic<Programming>».
В августе 2014 года он стал гражданином США. [6]
Александреску получил степень бакалавра электротехники в Политехническом университете Бухареста ( Universitatea Politehnica din Bucureşti ) в июле 1994 года .
Его первая статья была опубликована в журнале C/C++ Users Journal в сентябре 1998 года. Он был менеджером программ в Netzip, Inc. с апреля 1999 года по февраль 2000 года. Когда компания была приобретена RealNetworks, Inc. , он работал там менеджером по разработке с февраля 2000 года по сентябрь 2001 года. [7]
Александреску получил степень магистра (2003) и степень доктора философии (2009) в области компьютерных наук в Университете Вашингтона . [9] [10] [11]
В 2006 году Александреску начал помогать Уолтеру Брайту в разработке языка программирования D. [12] В мае 2010 года он выпустил книгу под названием «Язык программирования D» .
С 2010 по 2014 год Александреску, Херб Саттер и Скотт Мейерс проводили небольшую ежегодную техническую конференцию под названием «C++ and Beyond» .
Александреску проработал научным сотрудником в Facebook более 5 лет, прежде чем покинуть компанию в августе 2015 года, чтобы сосредоточиться на разработке языка программирования D. [13]
В январе 2022 года Александреску начал работать в Nvidia в качестве главного научного сотрудника. [14]
Наряду с Уолтером Брайтом , Андрей был одним из двух главных разработчиков языка программирования D и главным сопровождающим стандартной библиотеки Phobos с 2007 по 2019 год. Он является основателем D Language Foundation. Его вклад включает модуль ranges. Он является автором книги "The D Programmming Language".
Expected — это шаблонный класс для C++ , который находится на пути стандартов C++. [15] [16] Александреску предлагает [17] Expected<T>
в качестве класса для использования в качестве возвращаемого значения, которое содержит либо T, либо исключение, предотвращающее его создание, что является улучшением по сравнению с использованием либо кодов возврата, либо исключений исключительно. Expected можно рассматривать как ограничение типов сумм (объединений) или алгебраических типов данных в различных языках, например, Hope или более поздних Haskell и Gallina ; или механизма обработки ошибок Go от Google или типа Result в Rust .
Он объясняет преимущества Expected<T>
:
Например, вместо любого из следующих распространенных прототипов функций:
int parseInt(const string&); // Returns 0 on error and sets errno.
или
int parseInt(const string&); // Throws invalid_input or overflow
он предлагает следующее:
Expected<int> parseInt(const string&); // Returns an expected int: either an int or an exception
С 2000 [18] года Александреску пропагандировал и популяризировал идиому scope guard. Он ввел ее как языковую конструкцию в D. [19] Она была реализована другими во многих других языках. [20] [21]
Александреску — научный сотрудник Facebook, где он и команда кодеров используют
D
для переделки небольших частей масштабной деятельности компании.