Андрей Александреску
Андрей Александреску | |
---|---|
Рожденный | 1969 (54–55 лет) |
Национальность | румынский , американский [2] |
Образование | Политехнический университет Бухареста и Вашингтонский университет |
Занятие | Разработчик D. языка программирования |
Известный | Эксперт по программированию на C++ и D. [3] |
Супруг | Санда Александреску |
Веб-сайт | земля |
Тюдор Андрей Кристиан Александреску [4] (род. 1969) — румынско-американский язык C++ и D. [3] программист и автор. Он особенно известен своей новаторской работой по проектированию на основе политик, реализованному с помощью метапрограммирования шаблонов . Эти идеи сформулированы в его книге «Современный дизайн C++» и впервые были реализованы в его библиотеке программирования Loki . Он также реализовал концепцию « конструкторов перемещения » в своей библиотеке MOJO. [5] Он участвовал в журнале пользователей C/C++ под подписью «Generic<Programming>».
Он стал гражданином США в августе 2014 года. [6]
Образование и карьера
[ редактировать ]Александреску получил степень бакалавра электротехники в Бухареста Политехническом университете в июле 1994 года. [7] [8]
Его первая статья была опубликована в журнале C/C++ Users Journal он был менеджером программы в Inc. С апреля 1999 года по февраль 2000 года Netzip , в сентябре 1998 года . менеджер с февраля 2000 г. по сентябрь 2001 г. [7]
Александреску получил степень магистра (2003 г.) и доктора философии (2009 г.) в области компьютерных наук в Вашингтонском университете . [9] [10] [11]
В 2006 году Александреску начал помогать Уолтеру Брайту в разработке языка программирования D. [12] В мае 2010 года он выпустил книгу под названием « Язык программирования D» .
С 2010 по 2014 год Александреску, Херб Саттер и Скотт Мейерс проводили небольшую ежегодную техническую конференцию под названием C++ and Beyond .
Александреску проработал научным сотрудником в Facebook более пяти лет, а затем покинул компанию в августе 2015 года, чтобы сосредоточиться на разработке D. языка программирования [13]
В январе 2022 года Александреску начал работать в Nvidia в качестве главного научного сотрудника. [14]
Взносы
[ редактировать ]Ожидал
[ редактировать ]Ожидается класс шаблона для C++ , который находится в стадии разработки стандартов C++. [15] [16] Александреску предложил [17] Expected<T>
как класс для использования в качестве возвращаемого значения, которое содержит либо T, либо исключение, препятствующее его созданию, что является улучшением по сравнению с использованием исключительно кодов возврата или исключений. Expected можно рассматривать как ограничение типов сумм (объединений) или алгебраических типов данных в различных языках, например Hope или более поздних Haskell и Gallina ; или механизма обработки ошибок Google Go или типа Result в Rust .
Он объясняет преимущества Expected<T>
как:
- Связывает ошибки с вычислительными целями
- Естественно, допускает несколько исключений в полете
- Переключение между стилями «обработка ошибок» и «генерация исключений».
- Возможна телепортация через границы потоков, через границы подсистемы nothrow и во времени (сохранить сейчас, бросить позже)
- Собирайте, группируйте, объединяйте исключения
Пример
[ редактировать ]Например, вместо любого из следующих общих прототипов функций:
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] и далее Александреску пропагандировал и популяризировал идиому защиты прицела. Он представил ее как языковую конструкцию в книге Д. [19] Он был реализован другими на многих других языках. [20] [21]
Библиография
[ редактировать ]- Андрей Александреску (февраль 2001 г.). Современный дизайн на C++ : применение общих шаблонов программирования и проектирования . Аддисон-Уэсли. ISBN 978-0-201-70431-0 .
- Херб Саттер , Андрей Александреску (ноябрь 2004 г.). Стандарты кодирования на C++: 101 правило, рекомендации и передовой опыт . Аддисон-Уэсли. ISBN 978-0-321-11358-0 .
- Андрей Александреску (июнь 2010 г.). Язык программирования D. Аддисон-Уэсли. ISBN 978-0-321-63536-5 .
Ссылки
[ редактировать ]- ^ «Эрдани.com» .
- ^ андралекс (14 августа 2014 г.). "Нет" . Реддит . Архивировано из оригинала 16 июня 2022 года.
- ^ Перейти обратно: а б Мец, Кейд (7 июля 2014 г.). «Следующий большой язык программирования, о котором вы никогда не слышали» . Проводной . Проверено 27 июля 2014 г.
Сегодня Александреску работает научным сотрудником в Facebook, где он и его команда программистов используют D для изменения небольших частей масштабной работы компании.
- ^ «Фонд языка D» . dlang.org . Проверено 5 июня 2024 г.
- ^ Александреску, Андрей (1 февраля 2003 г.). «Перемещение конструкторов» . Журнал доктора Добба . Архивировано из оригинала 7 мая 2009 года . Проверено 25 марта 2009 г.
- ^ «Шестнадцать лет назад, в 28 лет, я приземлился в Нью-Йорке с 300 долларами на счету. Сегодня я стал гражданином США. Это было дикое приключение, которое, я надеюсь, продолжится! : pics» . 14 августа 2014 г.
- ^ Перейти обратно: а б «Андрей Александреску: Резюме» . Архивировано из оригинала 7 апреля 2011 года.
- ^ Весенняя конференция ACCU 2001. Архивировано 11 августа 2011 года в Wayback Machine.
- ^ «АККУ::Спикеры» . Members.accu.org .
- ^ «АККУ::Спикеры» . Members.accu.org .
- ^ Компьютерные науки и инженерия, недавний доктор философии. Выпускники (лето 2009 г.) .марка Вашингтонского университета.
- ^ «Об Андрее Александреску, докторе философии» .
- ^ «Продвижение работы над языком D и его основой» . 25 августа 2015 года . Проверено 28 августа 2015 г.
- ^ «Андрей Александреску» . LinkedIn.com . Проверено 15 декабря 2023 г.
- ^ [ Ботет; Талбот. «Предложение добавить служебный класс для представления ожидаемой монады» (PDF) . Архивировано из оригинала (PDF) 19 августа 2014 года.
- ^ "STD-make/P0323r2.md в мастере · viboes/STD-make" . Гитхаб . 21 октября 2021 г.
- ^ Александреску. «Обработка систематических ошибок в C++» . Архивировано из оригинала 25 апреля 2013 года.
- ^ Андрей Александреску; Петру Маргинян. «Общий вариант: измените способ написания безопасного к исключениям кода — навсегда» . Архивировано из оригинала 1 октября 2012 года.
- ^ «Безопасность исключений — язык программирования D» .
- ^ «Scope::Guard — управление ресурсами с лексической областью — Metacpan.org» . Metacpan.org .
- ^ «Скоугард – Ржавчина» .
Внешние ссылки
[ редактировать ]- Домашняя страница Александреску — содержит ссылки на загружаемые библиотеки Loki для различных компиляторов .
- (на румынском языке) Интервью MONEY.ro: Facebook нанимает сотрудников в Румынии , 1 марта 2010 г.