Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Ранняя жизнь и образование [ править ]

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

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

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

Карьера [ править ]

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

С 2002 по 2014 год Страуструп был профессором кафедры компьютерных наук инженерного колледжа Техасского университета A&M . [11] [12] С 2011 года он стал заслуженным профессором университета.

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

C ++ [ править ]

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

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

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

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

Страуструп документально свои принципы направления проектирования C ++ и эволюции языка в своей книге 1994, Дизайн и эволюция C ++ , [15] и две работы по истории АСМ языков программирования конференций. [16] [17]

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

Награды и награды [ править ]

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

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

Стипендии

  • Член Национальной инженерной академии с 2004 года.
  • Член в Ассоциации вычислительной техники (ACM) в 1994 году.
  • Член Института инженеров по электротехнике и радиоэлектронике (IEEE) в 1994 году.
  • Сотрудник Музея компьютерной истории за изобретение языка программирования C ++ в 2015 году.
  • Почетный член Черчилль-колледжа в Кембридже в 2017 году.

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

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

Публикации [ править ]

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

  • Знакомство с C ++ (1-е и 2-е издание) [23]
  • Программирование: принципы и практика использования C ++ [24]
  • Язык программирования C ++ (1-е, 2-е, 3-е и 4-е издание) [25]
  • Дизайн и развитие C ++ [26]
  • Аннотированное справочное руководство по C ++ . [27]

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

Более 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) [29]

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • СМИ, связанные с Бьярном Страуструпом, на Викискладе?
  • Цитаты, связанные с Бьярном Страуструпом на Wikiquote