Бьярне Страуструп - Bjarne Stroustrup

Бьярне Страуструп
Бьярне-Страуструп (обрезанный) .jpg
Страуструп в 2010 году
Родившийся (1950-12-30) 30 декабря 1950 г. (69 лет)
НациональностьДатский
Образование
ИзвестенC ++
Награды
Научная карьера
Учреждения
ТезисСвязь и управление в распределенных компьютерных системах  (1979)
ДокторантДэвид Уиллер[1]
Интернет сайтСтрауструп.com

Бьярне Страуструп (/ˈбjɑːrпəˈsтраʊsтрʊп/; Датский:[ˈPjaːnə ˈstʁʌwˀstʁɔp];[2][3] родился 30 декабря 1950) датчанин специалист в области информатики, наиболее примечательного созданием и развитием C ++ язык программирования.[4] Он является приглашенным профессором в Колумбийский университет, и работает в Морган Стенли в качестве управляющего директора в Нью-Йорк.[5][6][7][8][9]

ранняя жизнь и образование

Страуструп родился в Орхусе, Дания. Его семья была рабочий класс, и он ходил в местные школы.[10]

Он присутствовал Орхусский университет 1969–1975 и окончил с дипломом степень магистра в математика и Информатика. Его интересы были сосредоточены на микропрограммировании и архитектуре машин. Он изучил основы объектно-ориентированного программирования у его изобретателя, Кристен Найгаард, которые часто посещали Орхус.

В 1979 году он получил кандидат наук в информатике из Кембриджский университет,[11] где он находился под наблюдением Дэвид Уиллер.[1][12] Его диссертация касалась коммуникации в распределенных компьютерных системах.[13]

Карьера

В 1979 году Страуструп начал свою карьеру в качестве члена технического персонала Исследовательского центра компьютерных наук Bell Labs в Мюррей-Хилле, Нью-Джерси, США. Там он начал свою работу над C ++ и методами программирования. Страуструп был главой AT&T Bell Labs ' Отдел крупномасштабных исследований в области программирования с момента его создания до конца 2002 года. В 1993 году он стал сотрудником Bell Lab, а в 1996 году - сотрудником AT&T.

С 2002 по 2014 год Страуструп был кафедрой инженерного колледжа в г. Информатика Профессор в Техасский университет A&M.[14][15] С 2011 года стал заслуженным профессором университета.

По состоянию на январь 2014 года Страуструп является техническим сотрудником и управляющим директором технологического подразделения компании. Морган Стенли в Нью-Йорке и приглашенный профессор компьютерных наук в Колумбийском университете.[16]

C ++

Страуструп наиболее известен своей работой над C ++. В 1979 году он начал разработку C ++ (первоначально назывался "C с классами »). По его собственным словам, он« изобрел C ++, написал его ранние определения и произвел его первую реализацию, [...] выбрал и сформулировал критерии проектирования для C ++, спроектировал все его основные средства и отвечал за обработка предложений по расширению в комитете по стандартам C ++ ". C ++ стал общедоступным в 1985 году. Для некоммерческого использования исходный код компилятора и базовые библиотеки оплачивались доставкой (75 долларов США); это было до того, как все Доступ в Интернет. Страуструп также опубликовал учебник по языку в 1985 году. Язык программирования C ++.[17]

Страуструп (стоит слева) на совещании Комитета по стандартам C ++ в Санта-Крус в марте 1996 г.

Ключевые языковые и технические области вклада C ++:

  • Система статических типов с одинаковой поддержкой встроенных типов и типов, определяемых пользователем (которая требует управления созданием, разрушением, копированием и перемещением объектов; а также перегрузка оператора ).
  • Семантика значений и ссылок.
  • Систематическое и общее управление ресурсами (RAII ): конструкторы, деструкторы и исключения, на них основанные.
  • Поддержка эффективного объектно-ориентированного программирования: на основе Симула модель со статически проверенными интерфейсами, множественное наследование, и эффективная реализация на основе таблицы виртуальных функций.
  • Поддержка гибкости и эффективности общее программирование: шаблоны со специализацией и концепциями.
  • Поддержка программирования во время компиляции: метапрограммирование шаблона и функции, оцениваемые во время компиляции ("constexpr functions").
  • Прямое использование ресурсов машины и операционной системы.
  • Поддержка параллелизма через библиотеки (при необходимости, реализованные с использованием встроенных функций).

Страуструп задокументировал свои принципы, лежащие в основе разработки C ++ и эволюции языка, в своей книге 1994 года «Дизайн и эволюция C ++».[18] и два доклада для конференций ACM по истории языков программирования.[19][20]

Страуструп был одним из основателей комитета по стандартам C ++ (с 1989 года он был комитетом ANSI, а с 1991 года комитетом ISO) и с тех пор остается его активным членом. В течение 24 лет он возглавлял подгруппу, созданную для обработки предложений по расширению языка (Рабочая группа по эволюции).

Награды и отличия

Избранные награды[21]

  • 2018: Приз Чарльза Старка Дрейпера из Национальная инженерная академия США для концептуализации и разработки языка программирования C ++.
  • 2017: Медаль Фарадея от IET (Институт инженерных технологий) за значительный вклад в историю вычислений, в частности за новаторство в языке программирования C ++.
  • 2018: Премия Computer Pioneer Award из Компьютерное общество IEEE За то, что он сделал объектно-ориентированное программирование и универсальное программирование массовым благодаря его разработке и реализации языка программирования C ++.
  • 1993: Премия ACM Grace Murray Hopper за его раннюю работу, закладывающую основы языка программирования C ++. Благодаря этим основам и постоянным усилиям доктора Страуструпа C ++ стал одним из самых влиятельных языков программирования в истории вычислительной техники.
  • 2010: Ригморский университет Орхуса и Карл Холст-Кнудсенс Виденскабсприс.
  • 2005: Приз Уильяма Проктера за научные достижения от Sigma Xi (научно-исследовательское общество) как первый в истории ученый-компьютерщик.

Стипендии

Почетные докторские и профессорские звания

  • Он был удостоен звания почетного доктора Университета Карлоса III, Испания, 2019.[22]
  • Страуструп был благородным врачом в Университет ИТМО с 2013 года.[23]
  • Почетный профессор языков объектно-ориентированного программирования факультета компьютерных наук Орхусского университета. 2010 г.

Публикации

Страуструп является автором или соавтором ряда публикаций,[24][25] включая книги

  • Обзор C ++ (1-е и 2-е издание)[26]
  • Программирование: принципы и практика Использование C ++[27]
  • Язык программирования C ++ (1, 2, 3 и 4 издание)[28]
  • Дизайн и эволюция C ++[29]
  • Аннотированный справочник по C ++ Руководство.[30]

Всего эти книги переведены на 21 язык.[31]

Более 100 популярных и научных статей, в том числе

  • Б. Страуструп: Разработка программного обеспечения для инфраструктуры. Компьютер, т. 45, нет. 1, стр. 47–58, январь 2012 г., DOI: 10.1109 / MC.2011.353.
  • Б. Страуструп: Развитие языка в реальном мире и для него: C ++ 1991–2006. ACM HOPL-III. Июнь 2007 г.
  • Б. Страуструп: Чему мы должны учить разработчиков программного обеспечения? Почему? CACM. Январь 2010 г.
  • Габриэль дос Рейс и Бьярн Страуструп: Принципиальное, полное и эффективное представление C ++. Журнал математики в компьютерных науках, том 5, выпуск 3 (2011), стр. 335-356 doi: 10.1007 / s11786-011-0094-1. Специальный выпуск по решению полиномиальных систем, системам и управлению и программному обеспечению.
  • Габриэль Дос Рейс и Бьярн Страуструп: Общие константные выражения для языков системного программирования. САК-2010. 25-й симпозиум ACM по прикладным вычислениям. Март 2010 г.
  • Ю. Солодкий, Г. Дос Рейс и Б. Страуструп: открытый и эффективный переключатель типов для C ++. Proc. ОПСЛА'12.
  • Питер Пиркельбауэр, Юрий Солодкий, Бьярне Страуструп: Разработка и оценка открытых мульти-методов C ++. В области компьютерного программирования (2009 г.). Elsevier Journal. Июнь 2009 г. doi: 10.1016 / j.scico.2009.06.002.
  • Габриэль дос Рейс и Бьярн Страуструп: Определение концепций C ++. POPL06. Январь 2006 г.
  • Б. Страуструп: Безопасность исключений: концепции и методы. В лекциях Springer Verlag по информатике, LNCS-2022. ISSN 0302-9743. ISBN  3-540-41952-7. Апрель 2001 г.
  • Б. Страуструп: Обобщение перегрузки для C ++ 2000. Перегрузка, выпуск 25. 1 апреля 1998 г.
  • Б. Страуструп: Почему C ++ - это не просто язык объектно-ориентированного программирования. Приложение к материалам OOPSLA'95. OOPS Messenger, том 6, № 4, стр. 1–13. Октябрь 1995 г.
  • Б. Страуструп: История C ++: 1979–1991. Материалы конференции ACM по истории языков программирования (HOPL-2). Уведомления ACM Sigplan. Том 28 № 3, стр 271–298. Март 1993 г. Также, История языков программирования (редакторы Т. Дж. Бегин и Р. Г. Гибсон), Аддисон-Уэсли, 1996 г.
  • Б. Страуструп: Что такое объектно-ориентированное программирование? (Исправленная версия 1991 г.). Proc. 1-й Европейский фестиваль программного обеспечения. Февраль 1991 г.
  • Б. Страуструп: Абстракция данных в техническом журнале C. Bell Labs. vol 63. No. 8 (Часть 2), pp 1701–1732. Октябрь 1984 г.
  • Б. Страуструп: Классы: средство абстрактного типа данных для языка C. Уведомления Sigplan, январь 1982 г.

Более сотни технических отчетов для комитета по стандартам C ++ (WG21)[32]

Рекомендации

  1. ^ а б Бьярне Страуструп на Проект "Математическая генеалогия" Отредактируйте это в Викиданных
  2. ^ Страуструп, Бьярн. "Как вы произносите" Бьярн Страуструп?"". Домашняя страница Бьярна Страуструпа. Получено 18 ноября 2014.
  3. ^ Страуструп, Бьярн. "Бьярн произносит собственное имя". Домашняя страница Бьярна Страуструпа. Получено 18 ноября 2014.
  4. ^ Вонг, Уильям (29 октября 2013 г.). «Интервью: Бьярн Страуструп обсуждает C ++». Электронный дизайн. Получено 29 января 2014.
  5. ^ "Домашняя страница Бьярна Страуструпа". Research.att.com. Архивировано из оригинал 7 июля 2000 г.. Получено 9 июн 2016.
  6. ^ Страуструп, Бьярне (2010). «Точка зрения: чему мы должны учить разработчиков нового программного обеспечения? Почему?». Коммуникации ACM. 53: 40–42. Дои:10.1145/1629175.1629192.
  7. ^ Страуструп, Бьярне (1998). "Настоящее интервью Страуструпа" (PDF). Компьютер. 31 (6): 110–119. Дои:10.1109 / MC.1998.683014. S2CID  20329264.
  8. ^ "Список интервью с Бьярне Страуструпом". stroustrup.com.
  9. ^ "Расшифровка стенограммы интервью с IEEE Компьютер журнал ". вредный.cat-v.org.
  10. ^ "Победитель Дрейперской премии NAE Honors 2018" (PDF). stroustrup.com. 2 января 2020.
  11. ^ Вонг, Уильям (26 ноября 2013 г.). "Бьярн Страуструп: Создатель C ++ продолжает разработку RUNE". Электронный дизайн. Получено 29 января 2014.
  12. ^ Страуструп, Бьярне (1979). Коммуникация и управление в распределенных компьютерных системах. jisc.ac.uk (Кандидатская диссертация). Кембриджский университет. OCLC  219769715. EThOS  uk.bl.ethos.474113. Архивировано из оригинал 16 ноября 2018 г.. Получено 15 ноября 2018.
  13. ^ Страуструп, Бьярн (2 января 2020 г.). «Коммуникация и управление в распределенных компьютерных системах». Британская библиотека.
  14. ^ "Немного информации о Бьярне Страуструпе". Архивировано из оригинал 1 июля 2007 г.. Получено 27 июн 2007.
  15. ^ Коммуникации, Техас A&M Engineering (8 сентября 2015 г.). «Факультет - Люди - Информатика и инженерия - Инженерный колледж». Cse.tamu.edu. Получено 9 июн 2016.
  16. ^ «Департамент компьютерных наук Колумбийского университета - факультет». Cs.columbia.edu. Получено 9 июн 2016.
  17. ^ Страуструп, Бьярн (2 января 2020 г.). «Язык программирования C ++». stroustrup.com.
  18. ^ Страуструп, Бьярн (2 января 2020 г.). «Дизайн и эволюция C ++». stroustrup.com.
  19. ^ Страуструп, Бьярн (2 января 2020 г.). «История C ++: 1979–1991» (PDF). stroustrup.com.
  20. ^ Страуструп, Бьярне (2 января 2020 г.). «Развитие языка в реальном мире и для него: C ++ 1991–2006» (PDF). stroustrup.com.
  21. ^ Страуструп, Бьярне (2 января 2020 г.). "Немного информации о Бьярне Страуструпе". stroupstup.com.
  22. ^ "Honoris Causa | UC3M". www.uc3m.es.
  23. ^ "Ученый Совет НИУ ИТМО на 25.06.2013 г. избрал Бьѐрна Страуструпа почетным доктором нашего университета" (PDF). Is.ifmo.ru. Получено 7 декабря 2017.
  24. ^ Бьярне Страуструп в DBLP Сервер библиографии Отредактируйте это в Викиданных
  25. ^ Бьярне Страуструп публикации, проиндексированные Scopus библиографическая база данных. (требуется подписка)
  26. ^ Страуструп, Бьярне (2013). Знакомство с C ++. Эддисон-Уэсли Профессионал. ISBN  978-0-321-95831-0.
  27. ^ Страуструп, Бьярне (29 декабря 2008 г.). Программирование: принципы и практика использования C ++ (1-е изд.). Эддисон-Уэсли Профессионал. ISBN  978-0-321-54372-1.
  28. ^ Страуструп, Бьярне (23 мая 2013 г.). Язык программирования C ++ (4-е изд.). Издательская компания "Эддисон-Уэсли". ISBN  978-0-321-56384-2.
  29. ^ Страуструп, Бьярне (29 марта 1994 г.). Дизайн и развитие C ++ (1-е изд.). Издательская компания "Эддисон-Уэсли". ISBN  978-0-201-54330-8.
  30. ^ Эллис, Маргарет А.; Страуструп, Бьярне (1 января 1990 г.). Аннотированное справочное руководство по C ++. Издательская компания "Эддисон-Уэсли". ISBN  978-0-201-51459-9.
  31. ^ Страуструп, Бьярн (2 января 2020 г.). «Обложки книг». stroustrup.com.
  32. ^ Страуструп, Бьярн (2 января 2020 г.). «Мои документы комитета по стандартам C ++». stroustrup.com.

внешняя ссылка