Открыть сервис

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

Бьярне Страуструп — датский программист, создатель языка программирования C++ (1985 год, первоначальное название «C with Classes»). Известен как разработчик одного из наиболее распространённых языков общего назначения, оказавшего значительное влияние на индустрию разработки программного обеспечения. Автор книг по C++, в том числе «The C++ Programming Language».

Биография

Ранние годы и образование

Бьярне Страуструп родился 30 декабря 1950 года в Орхусе, Дания. Его отец был инженером-электриком, а мать — домохозяйкой. В 1975 году окончил Орхусский университет со степенью магистра в области математики и компьютерных наук. В 1979 году получил докторскую степень по информатике в Кембриджском университете (Великобритания), где работал над диссертацией по распределённым вычислениям.

Карьера в Bell Labs

С 1979 по 2002 год работал в исследовательском центре Bell Labs (США, штат Нью-Джерси). Именно здесь в 1979 году начал разработку языка «C with Classes», который в 1983 году был переименован в C++. Основной целью Страуструпа было создание языка, сочетающего эффективность и низкоуровневые возможности C с механизмами объектно-ориентированного программирования (классы, наследование, полиморфизм).

Дальнейшая деятельность

В 2002 году перешёл в Техасский университет A&M (США) на должность профессора. В 2014 году стал управляющим директором в компании Morgan Stanley, где занимался разработкой внутренних инструментов. С 2022 года — технический сотрудник (Technical Fellow) в компании Microsoft, где работает над улучшением C++ и его интеграцией с облачными платформами.

Создание и развитие C++

Предпосылки

В конце 1970-х годов основными языками системного программирования были C, Pascal и Simula. C обладал высокой производительностью, но не имел встроенной поддержки объектно-ориентированного подхода. Simula, напротив, поддерживал объекты, но был медленным и неэффективным для системного программирования. Страуструп стремился объединить достоинства обоих языков.

Первая версия (C with Classes, 1979–1983)

Первая реализация языка, названная «C with Classes», была создана как расширение C. Она включала:

  • классы и объекты;
  • наследование;
  • контроль доступа (public/private);
  • дружественные функции (friend);
  • перегрузку операторов.

В 1983 году язык был переименован в C++ (оператор инкремента ++, означающий «улучшенный C»).

Стандартизация

Страуструп активно участвовал в процессе стандартизации C++. Первый официальный стандарт C++ был принят в 1998 году (C++98). Впоследствии вышли стандарты C++03, C++11, C++14, C++17, C++20 и C++23. Каждый новый стандарт добавлял новые возможности: шаблоны, исключения, лямбда-выражения, умные указатели, модули и т.д.

Вклад в программирование

Ключевые идеи

Страуструп сформулировал несколько принципов, ставших основой C++:

  • «Не плати за то, что не используешь» — абстракции не должны накладывать накладных расходов, если они не используются.
  • «Множественная парадигма» — C++ поддерживает процедурное, объектно-ориентированное, обобщённое и функциональное программирование.
  • «Прямое отображение на аппаратуру» — язык должен позволять эффективно работать с памятью и процессором.

Книги и публикации

Страуструп написал несколько фундаментальных книг по C++:

  • «The C++ Programming Language» (1985, 4-е издание — 2013) — основное руководство по языку.
  • «The Design and Evolution of C++» (1994) — описание истории и мотивации решений при разработке языка.
  • «A Tour of C++» (2013, 3-е издание — 2022) — краткое введение для опытных программистов.

Критика и влияние

Критика

C++ часто критикуют за:

  • сложность синтаксиса и большое количество устаревших конструкций (например, наследование от нескольких классов);
  • неоднозначность некоторых правил (например, «самый неприятный синтаксический разбор»);
  • отсутствие встроенной системы сборки мусора (хотя это было сознательным решением для производительности);
  • медленную компиляцию по сравнению с некоторыми современными языками.

Страуструп неоднократно защищал C++, утверждая, что его сложность оправдана необходимостью поддерживать одновременно высокую производительность и гибкость.

Влияние

C++ стал одним из самых влиятельных языков программирования. Он используется в:

  • операционных системах (Windows, Linux, macOS);
  • игровых движках (Unreal Engine, Unity);
  • финансовых системах (высокочастотная торговля);
  • встраиваемых системах (микроконтроллеры);
  • научных вычислениях (библиотеки Boost, Eigen).

Многие современные языки (Java, C#, Rust, D) заимствовали идеи из C++, такие как классы, шаблоны, исключения и RAII.

Интересные факты

  • Страуструп не является профессиональным программистом в классическом смысле — он никогда не работал над коммерческими проектами, а занимался исключительно исследованиями и разработкой языка.
  • Первый компилятор C++ был написан на C с использованием препроцессора Cfront, который транслировал C++ в C.
  • Страуструп является автором термина «объектно-ориентированное программирование» (ООП) в современном понимании, хотя сам термин существовал и ранее.
  • Он получил множество наград, включая премию ACM Grace Murray Hopper (1993) и премию IEEE Computer Society Computer Pioneer Award (2018).

Источники

  • Страуструп Б. «The C++ Programming Language», 4-е издание, 2013.
  • Страуструп Б. «The Design and Evolution of C++», 1994.
  • Страуструп Б. «A Tour of C++», 3-е издание, 2022.
  • Официальный сайт Бьярне Страуструпа (stroustrup.com).
  • Стандарт ISO/IEC 14882:2020 (C++20).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →