Бьерн Страуструп
Бьерн Страуструп | |
---|---|
Рожденный | |
Национальность | датский |
Альма-матер | |
Известный | С++ |
Супруг | Мэриан Тинсон |
Дети | 2 |
Награды |
|
Научная карьера | |
Учреждения | |
Диссертация | Связь и управление в распределенных компьютерных системах (1979) |
Докторантура | Дэвид Уилер [1] |
Веб-сайт | stroustrup.com |
Страуструп ( / ˈ b j ɑːr n ə ˈ st r ɒ v st r ʊ p / ; Бьёрн Датский: [ˈpjɑːnə ˈstʁʌwˀstʁɔp] ; [2] [3] родился 30 декабря 1950 года) — датский учёный-компьютерщик , наиболее известный благодаря изобретению и разработке языка программирования C++ . [4] С 2014 года Страуструп работал приглашенным профессором информатики в Колумбийском университете , а с 2022 года является профессором. [5]
Молодость образование и
Страуструп родился в Орхусе, Дания . Его семья принадлежала к рабочему классу , и он посещал местные школы. [6]
Он учился в Орхусском университете с 1969 по 1975 год и получил степень кандидата наук по математике и информатике . [7] Его интересы были сосредоточены на микропрограммировании и машинной архитектуре. Основам объектно-ориентированного программирования он научился у его изобретательницы Кристен Найгаард , которая часто бывала в Орхусе .
В 1979 году он получил степень доктора компьютерных наук в Кембриджском университете . [8] [9] где его исследования в области распределенных вычислений курировал Дэвид Уиллер . [1] [8]
и исследования Карьера
В 1979 году Страуструп начал свою карьеру в качестве члена технического персонала в Исследовательском центре компьютерных наук Bell Labs в Мюррей-Хилл, штат Нью-Джерси . Там он начал свою работу над C++ и методами программирования. Страуструп возглавлял в AT&T Bell Labs отдел крупномасштабных исследований программирования с момента его создания до конца 2002 года. В 1993 году он стал научным сотрудником Bell Labs, а в 1996 году — научным сотрудником AT&T.
инженерного колледжа С 2002 по 2014 год Страуструп был профессором кафедры компьютерных наук Техасского университета A&M . [10] [11] С 2011 года ему присвоено звание заслуженного профессора университета.
С января 2014 года по апрель 2022 года Страуструп был техническим научным сотрудником и управляющим директором технологического подразделения Morgan Stanley в Нью-Йорке, а также приглашенным профессором информатики в Колумбийском университете. [12]
По состоянию на июль 2022 года Страуструп является профессором компьютерных наук Колумбийского университета. [13]
С++ [ править ]
Страуструп наиболее известен своими работами над C++. В 1979 году он начал разработку C++ (первоначально называвшегося « C с классами»). По его собственным словам, он «изобрел C++, написал его ранние определения и создал его первую реализацию [...] выбрал и сформулировал критерии проектирования C++, спроектировал все его основные возможности и отвечал за обработку предложений по расширению в комитет по стандартизации C++». C++ стал общедоступным в 1985 году. Для некоммерческого использования стоимость доставки исходного кода компилятора и основных библиотек составляла 75 долларов США; это было до того, как доступ в Интернет стал обычным явлением. Страуструп также опубликовал учебник по этому языку в 1985 году « Язык программирования C++» . [14]
Ключевыми языково-техническими областями вклада C++ являются:
- Статическая система типов с равной поддержкой встроенных типов и пользовательских типов (требующая контроля над созданием, уничтожением, копированием и перемещением объектов; а также перегрузка операторов ).
- Семантика значений и ссылок.
- Систематическое и общее управление ресурсами ( RAII ): конструкторы, деструкторы и зависящие от них исключения.
- Поддержка эффективного объектно-ориентированного программирования: на основе модели Simula со статически проверяемыми интерфейсами, множественным наследованием и эффективной реализацией на основе таблиц виртуальных функций .
- Поддержка гибкого и эффективного общего программирования : шаблоны со специализацией и концепциями.
- Поддержка программирования во время компиляции: метапрограммирование шаблонов и функции, оцениваемые во время компиляции («функции constexpr»).
- Прямое использование ресурсов машины и операционной системы.
- Поддержка параллелизма через библиотеки (при необходимости реализуется с использованием встроенных функций).
Страуструп задокументировал свои принципы проектирования C++ и эволюцию языка в своей книге 1994 года « Проектирование и эволюция C++» . [15] и три доклада для конференций ACM по истории языков программирования. [16] [17] [18]
Страуструп был одним из основателей комитета по стандартизации C++ (с 1989 года это был комитет ANSI, а с 1991 года — комитет ISO) и с тех пор остается его активным членом. В течение 24 лет он возглавлял подгруппу, созданную для рассмотрения предложений по расширению языков (Рабочая группа по эволюции).
Награды и почести [ править ]
Избранные награды [12]
- 2018: Премия Чарльза Старка Дрейпера от Национальной инженерной академии США за концептуализацию и разработку языка программирования C++.
- 2018: Премия Computer Pioneer от Компьютерного общества IEEE за популяризацию объектно-ориентированного и обобщенного программирования благодаря разработке и реализации языка программирования C++.
- 2017: Медаль Фарадея от ИЭПП (Института инженерных технологий) за значительный вклад в историю вычислений, в частности за новаторство в языке программирования C++.
- 2010: Ригмор Орхусского университета и научная премия Карла Холста-Кнудсена.
- 2005: Премия Уильяма Проктера за научные достижения от Sigma Xi (научно-исследовательского общества) как первый ученый-компьютерщик.
- 1993: Премия ACM Грейс Мюррей Хоппер за раннюю работу по закладыванию основ языка программирования C++. Основываясь на этих основах и постоянных усилиях доктора Страуструпа, C++ стал одним из самых влиятельных языков программирования в истории вычислений.
Стипендии
- Член Национальной инженерной академии с 2004 года.
- Член Ассоциации вычислительной техники (ACM) в 1994 году.
- Член Института инженеров по электротехнике и электронике (IEEE) в 1994 году.
- Член Музея истории компьютеров за изобретение языка программирования C++ в 2015 году.
- Почетный член Черчилль-колледжа в Кембридже в 2017 году.
Почетные докторские и профессорские звания
- Ему была присвоена степень почетного доктора Университета Карлоса III, Испания, 2019 г. [19]
- Страуструп является дворянским доктором Университета ИТМО с 2013 года. [20]
- Почетный профессор объектно-ориентированных языков программирования факультета компьютерных наук Орхусского университета. 2010.
Публикации [ править ]
Страуструп является автором или соавтором ряда публикаций. [21] [22] в том числе книги:
- Экскурсия по C++ (1-е, 2-е и 3-е издания) [23]
- Программирование: принципы и практика использования C++ [24]
- Язык программирования C++ (1-е, 2-е, 3-е и 4-е издания) [25]
- Проектирование и эволюция C++ [26]
- Справочное руководство по C++ с аннотациями . [27]
Всего эти книги переведены на 21 язык. [28]
Более 100 научных статей, в том числе:
- Процветание в многолюдном и меняющемся мире [18]
- Развитие языка в реальном мире и для него [17]
- Б. Страуструп: Чему мы должны учить разработчиков программного обеспечения? Почему? САСМ. Январь 2010 года. дои : 10.1145/1629175.1629192
- Габриэль Дос Рейс и Бьерн Страуструп: Принципиальное, полное и эффективное представление C++. Журнал математики в информатике, том 5, выпуск 3 (2011), страницы 335–356. дои : 10.1007/s11786-011-0094-1 . Специальный выпуск по решению полиномиальных систем, системам и управлению, а также программному обеспечению.
- Габриэль Дос Рейс и Бьерн Страуструп: Общие константные выражения для языков системного программирования. САК-2010. 25-й симпозиум ACM по прикладным вычислениям. Март 2010. дои : 10.1145/1774088.1774537
- Ю. Солодкий, Г. Дос Рейс и Б. Страуструп: Открытый и эффективный переключатель типов для C++. Учеб. ООПСЛА'12. дои : 10.1145/2398857.2384686
- Питер Пиркельбауэр, Юрий Солодкий, Бьерн Страуструп: Проектирование и оценка открытых мультиметодов C++. В науке компьютерного программирования (2009). Журнал Эльзевир. Июнь 2009 года. дои : 10.1016/j.scico.2009.06.002 .
- Габриэль Дос Рейс и Бьерн Страуструп: Определение концепций C++. ПОПЛ06. Январь 2006 года. дои : 10.1145/1111037.1111064
- Б. Страуструп: Безопасность исключений: концепции и методы. В конспектах лекций 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 года. дои : 10.1145/260094.260207
- Б. Страуструп: История C++: 1979–1991 гг. [16] Уведомления. Том 28, № 3, стр. 271–298. Март 1993 г. Также «История языков программирования» (редакторы Т. Дж. Бегин и Р. Г. Гибсон) Аддисон-Уэсли, 1996 г.
- Б. Страуструп: Что такое объектно-ориентированное программирование? (переработанная версия 1991 г.). Учеб. 1-й Европейский фестиваль программного обеспечения. Февраль 1991 года.
- Б. Страуструп: Абстракция данных в техническом журнале C. Bell Labs. том 63. № 8 (Часть 2), стр. 1701–1732. Октябрь 1984 года. дои : 10.1002/j.1538-7305.1984.tb00061.x
- Б. Страуструп: Классы: средства абстрактного типа данных для языка C. Уведомления Sigplan, январь 1982 г. дои : 10.1145/947886.947893
Более сотни технических отчетов для комитета по стандартизации C++ (WG21). [29]
Ссылки [ править ]
- ^ Jump up to: а б Бьерн Страуструп в проекте «Математическая генеалогия»
- ^ Страуструп, Бьерн. «Как вы произносите «Бьерн Страуструп?» » . Домашняя страница Бьерна Страуструпа . Архивировано из оригинала 20 июля 2012 года . Проверено 18 ноября 2014 г.
- ^ Страуструп, Бьерн. «Бьярн произносит свое имя» . Домашняя страница Бьерна Страуструпа . Архивировано из оригинала 20 сентября 2012 года . Проверено 18 ноября 2014 г.
- ^ Вонг, Уильям (29 октября 2013 г.). «Интервью: Бьерн Страуструп обсуждает C++» . Электронный дизайн . Архивировано из оригинала 22 ноября 2018 года . Проверено 29 января 2014 г.
- ^ «Бьерн Страуструп» . Колумбия Инжиниринг . 1 июля 2020 года. Архивировано из оригинала 13 октября 2020 года . Проверено 25 марта 2023 г.
- ^ «Обладатель премии Дрейпера NAE Honors 2018» (PDF) . stroustrup.com . 2 января 2020 г. Архивировано (PDF) из оригинала 9 октября 2022 г.
- ^ «Бьярн Страуструп» (PDF) . Школа инженерии и прикладных наук Фонда Фу Колумбийского университета . Архивировано (PDF) из оригинала 6 января 2023 года . Проверено 25 марта 2023 г.
- ^ Jump up to: а б Страуструп, Бьярн (1979). Связь и управление в распределенных компьютерных системах . cam.ac.uk (докторская диссертация). Кембриджский университет. OCLC 219769715 . EThOS uk.bl.ethos.474113 .
- ^ Вонг, Уильям (26 ноября 2013 г.). «Бьерн Страуструп: Создатель C++ продолжает развитие RUNE» . Электронный дизайн . Архивировано из оригинала 2 февраля 2014 года . Проверено 29 января 2014 г.
- ^ «Некоторые сведения о Бьярне Страуструпе» . Архивировано из оригинала 1 июля 2007 года . Проверено 27 июня 2007 г.
- ^ Коммуникации, Техас A&M Engineering (8 сентября 2015 г.). «Факультет – Люди – Информатика и инженерия – Инженерный колледж» . Cse.tamu.edu . Архивировано из оригинала 12 февраля 2014 года . Проверено 9 июня 2016 г.
- ^ Jump up to: а б Страуструп, Бьярне (15 августа 2022 г.). «Некоторые сведения о Бьярне Страуструпе» . stroustrup.com . Архивировано из оригинала 2 января 2020 года . Проверено 2 января 2020 г.
- ^ «Бьерн Страуструп, адъюнкт-профессор информатики» . Колумбия.edu . Август 2022 г. Архивировано из оригинала 13 октября 2020 г. Проверено 30 января 2021 г.
- ^ Страуструп, Бьярне (2 января 2020 г.). «Язык программирования C++» . stroustrup.com . Архивировано из оригинала 31 декабря 2019 года . Проверено 2 января 2020 г.
- ^ Страуструп, Бьярне (2 января 2020 г.). «Проектирование и эволюция C++» . stroustrup.com . Архивировано из оригинала 31 декабря 2019 года . Проверено 2 января 2020 г.
- ^ Jump up to: а б Страуструп, Бьярне (2 января 2020 г.). «История C++: 1979–1991» (PDF) . stroustrup.com . дои : 10.1145/155360.155375 . Архивировано (PDF) из оригинала 16 августа 2012 года.
- ^ Jump up to: а б Страуструп, Бьярне (2 января 2020 г.). «Развитие языка в реальном мире и для него: C++ 1991–2006» (PDF) . stroustrup.com . дои : 10.1145/1238844.1238848 . S2CID 7518369 . Архивировано (PDF) из оригинала 9 октября 2022 года.
- ^ Jump up to: а б Страуструп, Бьярне (июнь 2020 г.). «Процветание в многолюдном и меняющемся мире: C++ 2006–2020» . Труды ACM по языкам программирования . 4 : 1–168. дои : 10.1145/3386320 . S2CID 219603741 .
- ^ «Honoris Causa | UC3M» . www.uc3m.es. Архивировано из оригинала 12 апреля 2020 года . Проверено 12 апреля 2020 г.
- ^ "Ученый Совет НИУ ИТМО на заседании 25.06.2013 г. избрал Бьѐрна Страуструпа почетным доктором нашего университета" (PDF) . Is.ifmo.ru . Archived (PDF) from the original on 9 October 2022 . Retrieved 7 December 2017 .
- ^ Бьерн Страуструп на DBLP библиографическом сервере
- ^ Публикации Бьярна Страуструпа , индексируемые библиографической базой данных Scopus . (требуется подписка)
- ^ Страуструп, Бьярне (2013). Экскурсия по C++ . Аддисон-Уэсли Профессионал . ISBN 978-0-321-95831-0 .
- ^ Страуструп, Бьярне (29 декабря 2008 г.). Программирование: принципы и практика использования C ++ (1-е изд.). Аддисон-Уэсли Профессионал . ISBN 978-0-321-54372-1 .
- ^ Страуструп, Бьярне (23 мая 2013 г.). Язык программирования C ++ (4-е изд.). Издательская компания Аддисон-Уэсли . ISBN 978-0-321-56384-2 .
- ^ Страуструп, Бьярне (29 марта 1994 г.). Проектирование и эволюция C++ (1-е изд.). Издательская компания Аддисон-Уэсли . ISBN 978-0-201-54330-8 .
- ^ Эллис, Маргарет А .; Страуструп, Бьярне (1 января 1990 г.). Справочное руководство по C++ с аннотациями . Издательская компания Аддисон-Уэсли . ISBN 978-0-201-51459-9 .
- ^ Страуструп, Бьярне (2 января 2020 г.). «Обложки книг» . stroustrup.com . Архивировано из оригинала 20 июля 2012 года . Проверено 2 января 2020 г.
- ^ Страуструп, Бьярне (2 января 2020 г.). «Мои документы комитета по стандартам C++» . stroustrup.com . Архивировано из оригинала 31 декабря 2019 года . Проверено 2 января 2020 г.
СМИ, связанные с Бьярном Страуструпом, на Викискладе?
- 1950 рождений
- Выпускники Орхусского университета
- Стипендиаты Черчилль-колледжа, Кембридж
- С++
- люди, работающие с С++
- Факультет Колумбийской школы инженерии и прикладных наук
- Датские программисты
- Датские ученые-компьютерщики
- Датские эмигранты в США
- Члены IEEE
- Лауреаты премии Грейс Мюррей Хоппер
- Живые люди
- Члены Национальной инженерной академии США
- Академики из Орхуса
- Люди из Уотчунга, Нью-Джерси
- Разработчики языков программирования
- Ученые из Bell Labs
- Преподаватели Техасского университета A&M
- 1994 г. Члены Ассоциации вычислительной техники.