Андрей Александреску - Andrei Alexandrescu

Андрей Александреску
AndreiAlexandrescu.jpg
Александреску с ACCU 2009
Туған1969 (50-51 жас)
ҰлтыРумын, Американдық[2]
БілімБухаресттің Политехника университеті және Вашингтон университеті
КәсіпӘзірлеушісі Д. бағдарламалау тілі
БелгіліСарапшы C ++ және D бағдарламалау[3]
ЖұбайларСанда Александреску
Веб-сайтэрдани.org

Андрей Александреску (1969 ж.т.) а Румын-американдық C ++ және D тілі[3] бағдарламашы және автор. Ол әсіресе өзінің ізашарлық қызметімен танымал саясатқа негізделген дизайн арқылы жүзеге асырылады шаблон метапрограммалау. Бұл идеялар оның кітабында баяндалған Қазіргі заманғы C ++ дизайны және оның бағдарламалау кітапханасында алғаш рет енгізілді, Локи. Ол сонымен қатар «конструкторларды жылжыту «оның MOJO кітапханасындағы тұжырымдама.[4] Ол үлес қосты C / C ++ пайдаланушылар журналы астында қосымша сызық «Жалпы <Бағдарламалау>». Александреску зерттеуші ғалым болып жұмыс істеді Facebook, компанияны шығарар алдында 2015 жылдың тамызында оны дамытуға назар аудару үшін Д. бағдарламалау тілі.[5]

Ол 2014 жылдың тамызында Америка азаматы болды.[6]

Білім және мансап

Александреску а B.S. бастап электротехника бойынша дәрежесі Бухарест политехникалық университеті (Universitea Politehnica din București) 1994 жылдың шілдесінде.[7][8]

Оның алғашқы мақаласы C / C ++ пайдаланушылар журналы 1998 жылдың қыркүйегінде. Ол бағдарлама менеджері болды Netzip, Inc. 1999 ж. сәуірінен 2000 ж. ақпанына дейін. Компания сатып алған кезде RealNetworks, Inc. ол 2000 жылдың ақпанынан 2001 жылдың қыркүйегіне дейін даму менеджері болып қызмет етті.[7]

Александреску ан тапты ХАНЫМ. (2003) және а Ph.D. (2009) жылы есептеу техникасы бастап Вашингтон университеті.[9][10][11]

Жақында ол көмектесті Уолтер Брайт дамуында D бағдарламалау тілі. Александреску атты кітап шығарды D бағдарламалау тілі 2010 жылдың мамырында.

2010-2014 жылдар аралығында Александреску, Herb Sutter, және Скотт Мейерс атты жыл сайынғы шағын техникалық конференция өткізді C ++ және одан тыс.

Жарналар

Күтілген

Күтілген Бұл шаблон сынып C ++ ол C ++ стандарттары жолында.[12][13] Александреску ұсынады[14] Күтілген қайтару коды немесе ерекше жағдайларды пайдалану кезінде жақсару болып табылатын Т немесе ерекше жағдайды жасауға мүмкіндік беретін қайтару мәні ретінде пайдалануға арналған класс ретінде. Күтілетін сома (одақ) түрлерін шектеу немесе әртүрлі тілдердегі алгебралық деректер типтерін қарастыруға болады, мысалы, Үміт, немесе жақыны Хаскелл және Галлина; немесе Google-дің қателермен жұмыс істеу механизмі туралы Барыңыз немесе Нәтиже теру Тот.

Ол артықшылықтарын түсіндіреді Күтілген сияқты:

  • Қателерді есептеу мақсаттарымен байланыстырады
  • Әрине, ұшу кезінде бірнеше ерекшеліктерге жол беріледі
  • «Қателерді өңдеу» және «ерекшелікті лақтыру» стильдері арасында ауысу
  • Жіп шекараларында, ішкі жүйенің шекарасында және уақыт бойынша телепортация мүмкін (қазір үнемдеңіз, кейін тастаңыз)
  • Ерекшеліктерді жинаңыз, топтаңыз, біріктіріңіз

Мысал

Мысалы, келесі жалпы прототиптердің кез келгенінің орнына:

int parseInt (const string &); // қатені 0 қайтарады және errno орнатады.

немесе

int parseInt (const string &); // Жарамсыз_кірісті немесе толып кетуді лақтырады

ол келесіні ұсынады:

Күтілетін parseInt (const string &); // күтілген int мәнін қайтарады: int немесе ерекше жағдай

Қауіпсіздік саласы

2000 жылдан бастап[15] бұдан әрі Александреску ауқымды күзет идиомасын жақтады және насихаттады. Ол оны тілдік құрылым ретінде енгізді.[16] Оны басқалар көптеген басқа тілдерде жүзеге асырды.[17][18]

Библиография

  • Андрей Александреску (2001 ж. Ақпан). Қазіргі заманғы C ++ дизайны: Жалпы бағдарламалау және дизайн үлгілері қолданылады. Аддисон-Уэсли. ISBN  978-0-201-70431-0.
  • Herb Sutter, Андрей Александреску (қараша 2004). C ++ кодтау стандарттары: 101 ережелер, нұсқаулар және үздік тәжірибелер. Аддисон-Уэсли. ISBN  978-0-321-11358-0.
  • Андрей Александреску (маусым 2010). D бағдарламалау тілі. Аддисон-Уэсли. ISBN  978-0-321-63536-5.

Әдебиеттер тізімі

  1. ^ Erdani.com
  2. ^ https://www.reddit.com/r/pics/comments/2di6ik/sixteen_years_ago_at_28_i_landed_in_new_york_with/cjpvhon
  3. ^ а б Metz, Cade (7 шілде 2014). «Сіз ешқашан естімеген келесі үлкен бағдарламалау тілі». Wired.com. Сымды. Алынған 27 шілде 2014. Бүгінде Александреску Facebook-тегі зерттеуші ғалым, ол өзі және кодерлер тобы қолданады Д. компанияның жаппай жұмысының кішігірім бөліктерін жаңарту.
  4. ^ Александреску, Андрей (2003 ж., 1 ақпан). «Конструкторларды жылжыту». Доктор Доббтың журналы. Мұрағатталды түпнұсқадан 2009 жылғы 7 мамырда. Алынған 25 наурыз 2009.
  5. ^ «D тілі және негізі бойынша жұмысты алға жылжыту». 25 тамыз 2015. Алынған 28 тамыз 2015.
  6. ^ Reddit.com: «Он алты жыл бұрын, 28-де мен Нью-Йоркке 300 доллармен қондым. Бүгін мен АҚШ азаматтығын алдым. Мен бұл жабайы сапар болды деп үміттенемін!»
  7. ^ а б Андрей Александреску: түйіндеме Мұрағатталды 7 сәуір 2011 ж Wayback Machine
  8. ^ ACCU көктемгі конференциясы 2001 ж Мұрағатталды 11 тамыз 2011 ж Wayback Machine
  9. ^ ACCU 2008: спикерлер
  10. ^ ACCU 2010: спикерлер
  11. ^ Информатика және инженерия, жақында Ph.D Түлектер (2009 ж. Жазы) Вашингтондағы .mark университеті.
  12. ^ [Ботет; Талбот. «Күтілетін монаданы ұсыну үшін қызметтік сыныпты қосу туралы ұсыныс» (PDF). Архивтелген түпнұсқа (PDF) 19 тамыз 2014 ж.
  13. ^ https://github.com/viboes/std-make/blob/master/doc/proposal/expected/p0323r2.md#motivation
  14. ^ Александреску. «C ++ жүйесіндегі қателіктерді жүйелік өңдеу».
  15. ^ Андрей Александреску; Петру Маржинеан. «Жалпы: ерекше және қауіпсіз код жазу әдісін өзгертіңіз - мәңгі».
  16. ^ https://dlang.org/articles/exception-safe.html
  17. ^ https://metacpan.org/pod/Scope::Guard
  18. ^ https://docs.rs/scopeguard/1.1.0/scopeguard/

Сыртқы сілтемелер