Датский ученый-компьютерщик, создатель C ++
Бьярн Страуструп (; датский: ; родился 30 декабря 1950 г.) Датский компьютерный ученый, наиболее известный за создание и развитие языка программирования C ++. Он является приглашенным профессором Колумбийского университета и работает в Morgan Stanley в качестве управляющего директора в Нью-Йорке.
Содержание
- 1 Ранняя жизнь и образование
- 2 Карьера
- 3 C ++
- 3.1 Награды и награды
- 3.2 Публикации
- 4 Ссылки
- 5 Внешние ссылки
Ранние годы и образование
Страуструп родился в Орхусе, Дания. Его семья была из рабочего класса, и он учился в местных школах.
Он учился в Орхусском университете 1969–1975 и окончил его со степенью магистра в математике и информатике. Его интересы были сосредоточены на микропрограммировании и архитектуре машин. Он изучил основы объектно-ориентированного программирования у его изобретателя, Кристен Найгаард, которая часто бывала в Орхусе.
. В 1979 году он получил докторскую степень в области компьютерных наук в Кембриджский университет, где им руководил Дэвид Уиллер. Его диссертация касалась коммуникации в распределенных компьютерных системах.
Карьера
В 1979 году Страуструп начал свою карьеру в качестве члена технического персонала Исследовательского центра компьютерных наук Bell Labs в Мюррей-Хилл, Нью-Джерси., США. Там он начал свою работу над C ++ и методами программирования. Страуструп возглавлял отдел крупномасштабных исследований в области программирования ATT Bell Labs с момента его создания до конца 2002 года. В 1993 году он стал сотрудником Bell Lab, а в 1996 году - сотрудником ATT.
С 2002 по 2014 год Страуструп был кафедрой инженерного колледжа в информатике профессором в Техасском университете AM. С 2011 года стал заслуженным профессором университета.
По состоянию на январь 2014 г. Страуструп является техническим сотрудником и управляющим директором технологического подразделения Morgan Stanley в Нью-Йорке и приглашенным профессором компьютерных наук в Колумбийском университете.
C ++
Страуструп наиболее известен своими работами над C ++. В 1979 году он начал разработку C ++ (первоначально называвшегося «C с классами»). По его собственным словам, он «изобрел C ++, написал его ранние определения и произвел его первую реализацию, [...] выбрал и сформулировал критерии проектирования для C ++, спроектировал все его основные средства и отвечал за обработку предложений по расширению в комитет по стандартам C ++ ". C ++ стал общедоступным в 1985 году. Для некоммерческого использования исходный код компилятора и базовых библиотек входил в стоимость доставки (75 долларов США); это было до того, как у всех появился доступ в Интернет. Страуструп также опубликовал учебник по языку в 1985 г. Язык программирования C ++.
Страуструп (стоит слева) на встрече Комитета по стандартам C ++ в Санта-Крус в марте 1996 г.
Основные области языковой и технической поддержки C ++ являются:
- Система статических типов с одинаковой поддержкой встроенных типов и типов, определяемых пользователем (которая требует управления созданием, уничтожением, копированием и перемещением объектов; и перегрузка оператора ).
- Семантика значений и ссылок.
- Системное и общее управление ресурсами (RAII ): конструкторы, деструкторы и исключения, основанные на них.
- Поддержка эффективного объектно-ориентированного программирования: на основе модели Simula со статически проверенными интерфейсами, множественным наследованием и эффективной реализацией на основе таблиц виртуальных функций.
- Поддержка гибкого и эффективного универсального программирования : шаблоны со специализацией и концепциями.
- Поддержка PR во время компиляции программирование: метапрограммирование шаблонов и функции, оцениваемые во время компиляции ("constexpr functions").
- Прямое использование ресурсов компьютера и операционной системы.
- Поддержка параллелизма через библиотеки (где
Страуструп задокументировал свои принципы, лежащие в основе разработки C ++ и эволюции языка, в своей книге 1994 г. «Дизайн и эволюция C ++» и двух статьях для конференций ACM по истории языков программирования.
Страуструп был одним из основателей комитета по стандартам C ++ (с 1989 года он был комитетом ANSI, а с 1991 года комитетом ISO) и с тех пор остается его активным членом. В течение 24 лет он возглавлял подгруппу, созданную для обработки предложений по расширению языка (Рабочая группа по эволюции).
Награды и почести
Избранные награды
- 2018: Премия Чарльза Старка Дрейпера от Национальной инженерной академии США за концептуализацию и разработку язык программирования C ++.
- 2017: Медаль Фарадея от IET (Институт инженерных технологий) за значительный вклад в историю вычислительной техники, в частности за новаторство в языке программирования C ++.
- 2018: Премия Computer Pioneer Award от Компьютерного общества IEEE За внедрение объектно-ориентированного программирования и общего программирования в мейнстрим с его разработкой и реализацией языка программирования C ++.
- 1993: Премия ACM Grace Murray Hopper за его раннюю работу, закладывающую основы языка программирования C ++. Основанный на этих основах и постоянных усилиях доктора Страуструпа, C ++ стал одним из самых влиятельных языков программирования в истории вычислительной техники.
- 2010: Rigmor og Carl Holst-Knudsens Videnskabspris Орхусского университета.
- 2005: Премия Уильяма Проктера за научные достижения от Sigma Xi (научно-исследовательское общество) как первый ученый-компьютерщик.
Стипендии
Почетные докторские и профессорские звания
- Он был удостоен звания почетного доктора Университета Карлоса III, Испания, 2019.
- Страуструп - благородный доктор в Университете ИТМО с 2013 года.
- Почетный профессор языков объектно-ориентированного программирования факультета компьютерных наук Орхусского университета. 2010.
Publications
Страуструп является автором или соавтором ряда публикаций, включая книги
- A Tour of C ++ (1-е и 2-е издание)
- Программирование: принципы и Практика использования C ++
- Язык программирования C ++ (1-е, 2-е, 3-е и 4-е издания)
- Разработка и развитие C ++
- Справочное руководство по C ++ с аннотациями.
Всего эти книги переведены на 21 язык
Более 100 популярных и научных статей, в том числе
- Б. Страуструп: Разработка программного обеспечения для инфраструктуры. Компьютер, т. 45, нет. 1, стр. 47–58, январь 2012 г., DOI: 10.1109 / MC.2011.353.
- B. Страуструп: Развитие языка в реальном мире и для него: 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. OOPSLA'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. Также, History of Programming languages (редакторы Т. Дж. Бегин и Р. Г. Гибсон), Addison-Wesley, 1996.
- B. Страуструп: Что такое объектно-ориентированное программирование? (Исправленная версия 1991 г.). Proc. 1-й Европейский фестиваль программного обеспечения. Февраль 1991.
- Б. Страуструп: Абстракция данных в техническом журнале C. Bell Labs. vol 63. No. 8 (Часть 2), pp 1701–1732. Октябрь 1984.
- Б. Страуструп: Классы: средство абстрактного типа данных для языка C. Уведомления Sigplan, январь 1982 г.
Более сотни технических отчетов для комитета по стандартам C ++ (WG21)
Ссылки
Внешние ссылки
- СМИ, связанные с Бьярн Страуструп на Wikimedia Commons
- Цитаты, относящиеся к Бьярну Страуструпу в Wikiquote