С января 2014 года по апрель 2022 года Страуструп был техническим научным сотрудником и управляющим директором технологического подразделения Morgan Stanley в Нью-Йорке, а также приглашенным профессором информатики в Колумбийском университете. [12]
По состоянию на июль 2022 года Страуструп является профессором компьютерных наук Колумбийского университета. [13]
С++
Страуструп (стоит слева) на заседании Комитета по стандартизации C++ в Санта-Крусе в марте 1996 г.
Страуструп наиболее известен своими работами над C++. В 1979 году он начал разработку C++ (первоначально называвшегося « C с классами»). По его собственным словам, он «изобрел C++, написал его ранние определения и создал его первую реализацию [...] выбрал и сформулировал критерии проектирования C++, спроектировал все его основные возможности и отвечал за обработку предложений по расширению в комитет по стандартизации C++». C++ стал общедоступным в 1985 году. Для некоммерческого использования стоимость доставки исходного кода компилятора и базовых библиотек составляла 75 долларов США; это было до того, как доступ в Интернет стал обычным явлением. Страуструп также опубликовал учебник по этому языку в 1985 году « Язык программирования C++» . [14]
Ключевыми языково-техническими областями вклада C++ являются:
Статическая система типов с равной поддержкой встроенных типов и пользовательских типов (требующая контроля над созданием, уничтожением, копированием и перемещением объектов; а также перегрузка операторов ).
Семантика значений и ссылок.
Систематическое и общее управление ресурсами ( RAII ): конструкторы, деструкторы и зависящие от них исключения.
Поддержка гибкого и эффективного общего программирования : шаблоны со специализацией и концепциями.
Поддержка программирования во время компиляции: метапрограммирование шаблонов и функции, оцениваемые во время компиляции («функции constexpr»).
Прямое использование ресурсов машины и операционной системы.
Поддержка параллелизма через библиотеки (при необходимости реализуется с использованием встроенных функций).
Страуструп задокументировал свои принципы проектирования C++ и эволюцию языка в своей книге 1994 года « Проектирование и эволюция C++» [ 15] и в трех статьях для конференций ACM «История языков программирования». [16] [17] [18]
Страуструп был одним из основателей комитета по стандартизации C++ (с 1989 года это был комитет ANSI, а с 1991 года — комитет ISO) и с тех пор остается его активным членом. В течение 24 лет он возглавлял подгруппу, созданную для рассмотрения предложений по расширению языков (Рабочая группа по эволюции).
2017: Медаль Фарадея от ИЭПП (Института инженерных технологий) за значительный вклад в историю вычислений, в частности за новаторство в области языка программирования C++.
2010: Ригмор и Виденскабсприс Карла Холста-Кнудсенса Орхусского университета.
2005: Премия Уильяма Проктера за научные достижения от Sigma Xi (научно-исследовательского общества) как первый ученый-компьютерщик.
1993: Премия ACM Грейс Мюррей Хоппер за раннюю работу по закладыванию основ языка программирования C++. Основываясь на этих основах и постоянных усилиях доктора Страуструпа, C++ стал одним из самых влиятельных языков программирования в истории вычислений.
Справочное руководство по C++ с аннотациями . [27]
Всего эти книги переведены на 21 язык. [28]
Более 100 научных статей, в том числе:
Процветание в многолюдном и меняющемся мире [18]
Развитие языка в реальном мире и для него [17]
Б. Страуструп: Чему мы должны учить разработчиков программного обеспечения? Почему? САСМ. Январь 2010 г. doi : 10.1145/1629175.1629192.
Габриэль Дос Рейс и Бьерн Страуструп: Принципиальное, полное и эффективное представление C++. Журнал математики в информатике, том 5, выпуск 3 (2011 г.), страницы 335–356 doi : 10.1007/s11786-011-0094-1. Специальный выпуск по решению полиномиальных систем, системам и управлению, а также программному обеспечению.
Габриэль Дос Рейс и Бьерн Страуструп: Общие константные выражения для языков системного программирования. САК-2010. 25-й симпозиум ACM по прикладным вычислениям. Март 2010 г. doi : 10.1145/1774088.1774537.
Ю. Солодкий, Г. Дос Рейс и Б. Страуструп: Открытый и эффективный переключатель типов для C++. Учеб. ООПСЛА'12. дои : 10.1145/2398857.2384686
Питер Пиркельбауэр, Юрий Солодкий, Бьерн Страуструп: Проектирование и оценка открытых мультиметодов C++. В науке компьютерного программирования (2009). Журнал Эльзевир. Июнь 2009 г. doi :10.1016/j.scico.2009.06.002.
Габриэль Дос Рейс и Бьерн Страуструп: Определение концепций C++. ПОПЛ06. Январь 2006 г. doi : 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 г. doi : 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 г. doi :10.1002/j.1538-7305.1984.tb00061.x
Б. Страуструп: Классы: средства абстрактного типа данных для языка C. Уведомления Sigplan, январь 1982 г. doi : 10.1145/947886.947893
Более сотни технических отчетов для комитета по стандартизации C++ (WG21) [29]
^ Страуструп, Бьярн. «Как вы произносите «Бьярн Страуструп?»». Домашняя страница Бьерна Страуструпа . Архивировано из оригинала 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 г.
^ аб Страуструп, Бьярн (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 г.
^ аб Страуструп, Бьярне (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 г.
^ аб Страуструп, Бьярне (2 января 2020 г.). «История C++: 1979–1991» (PDF) . stroustrup.com . дои : 10.1145/155360.155375. Архивировано (PDF) из оригинала 16 августа 2012 года.
^ аб Страуструп, Бьярне (2 января 2020 г.). «Развитие языка в реальном мире и для него: C++ 1991–2006» (PDF) . stroustrup.com . дои : 10.1145/1238844.1238848. S2CID 7518369. Архивировано (PDF) из оригинала 9 октября 2022 года.
^ аб Страуструп, Бьярне (июнь 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) . Есть.ifmo.ru. _ Архивировано (PDF) из оригинала 9 октября 2022 года . Проверено 7 декабря 2017 г.
^ Бьерн Страуструп на библиографическом сервере DBLP
^ Публикации Бьярна Страуструпа, индексируемые библиографической базой данных Scopus . (требуется подписка)
↑ Страуструп, Бьярне (2 января 2020 г.). «Обложки книг». stroustrup.com . Архивировано из оригинала 20 июля 2012 года . Проверено 2 января 2020 г.
↑ Страуструп, Бьярне (2 января 2020 г.). «Документы моего комитета по стандартам C++». stroustrup.com . Архивировано из оригинала 31 декабря 2019 года . Проверено 2 января 2020 г.
СМИ, связанные с Бьярном Страуструпом, на Викискладе?