Фото с сайта habr.com
Фото с сайта habr.com
Автор: Ветрова Зоя [05.03.2026]

Simula была слишком медленной — и он создал C++

1979 год. Кембриджский университет, защита диссертации. Молодой датчанин Бьёрн Страуструп завершает докторскую работу по распределённым вычислениям. За годы работы над диссертацией он столкнулся с проблемой, которую не мог решить ни один из существующих языков программирования: Simula давала удобные абстракции для работы с большими системами — но была катастрофически медленной. BCPL работал быстро — но был слишком низкоуровневым для сложных задач.

Страуструп обнаружил, что Simula обладает функциями, чрезвычайно полезными для разработки большого программного обеспечения, но язык был слишком медленным для практического использования, тогда как BCPL работал быстро, но был слишком низкоуровневым для масштабных задач.

Из этого противоречия родилась идея. Не сразу — но неизбежно.

В том же 1979 году он переехал с женой и дочерью в Нью-Джерси и занял должность в исследовательском центре Bell Labs. Здесь, в лаборатории, изменившей историю технологий, он начал работу над языком, который впоследствии войдёт в число самых используемых инструментов в истории программирования.

Орхус, рабочая семья и первые уроки абстракции

Бьёрн Страуструп родился 30 декабря 1950 года в Орхусе, Дания. Его семья принадлежала к рабочему классу: он посещал местные школы. Отец был обойщиком, мать — секретарём. В детстве он предпочитал спорт учёбе.

Этот последний факт важен: будущий создатель одного из самых сложных и влиятельных языков программирования не был ребёнком-вундеркиндом, погружённым в математику с пелёнок. Он пришёл к точным наукам постепенно — и, придя, остался навсегда.

Страуструп учился в Орхусском университете с 1969 по 1975 год и окончил его со степенью кандидата наук по математике с информатикой. Его научные интересы сосредоточились на микропрограммировании и архитектуре машин.

Самым важным интеллектуальным событием студенческих лет стала встреча с человеком, который изменил его представление о программировании. Основы объектно-ориентированного программирования он усвоил от его изобретателя — Кристена Нюгора, который часто приезжал в Орхус. Нюгор создал Simula — язык, заложивший концепцию классов и объектов. Страуструп учился у первоисточника.

Параллельно с учёбой он накапливал практический опыт, выполняя контрактное программирование для бизнес-приложений — и впоследствии не раз говорил о том, насколько важна была для него именно практическая работа.

Кембридж: распределённые системы и Дэвид Уилер

После Орхуса — Великобритания. Страуструп продолжил обучение в Кембриджском университете, где в 1979 году получил степень доктора наук по информатике. Его научная тема — распределённые вычисления, научный руководитель — Дэвид Уилер.

Дэвид Уилер — фигура легендарная. Один из пионеров программирования, соавтор первой в истории программы с подпрограммами, создатель сортировки Уилера. Под его руководством Страуструп глубоко погрузился в вопросы эффективности и надёжности больших программных систем.

Кембридж дал ему не только диплом, но и чёткую постановку проблемы, которую он привёз с собой в Bell Labs.

Bell Labs: «C с классами» и рождение нового языка

В 1979 году Страуструп вместе с женой и дочерью переехал в Нью-Джерси, чтобы присоединиться к Центру исследований компьютерных наук Bell Telephone Laboratories. Впоследствии в Мейерсвилле у них родился сын.

Bell Labs образца 1979 года — место, где создавались Unix и язык C, где работали Деннис Ритчи, Брайан Керниган и другие люди, перекроившие историю вычислительной техники. Попасть туда — значит оказаться в самом центре технологической революции.

В 1979 году Страуструп начал работу над «C с классами» — предшественником C++. Мотивом для создания нового языка стал его опыт программирования в рамках докторской диссертации.

Бьёрн Страуструп - фотография из архивов сайта
Бьёрн Страуструп - фотография из архивов сайта
Посмотреть фото →

Концепция была ясной: взять скорость и близость к железу языка C, добавить механизмы абстракции из Simula — и получить язык, пригодный для реальных масштабных задач. Не академическую игрушку, а рабочий инструмент.

«C с классами» был переименован в C++ в 1983 году. Оператор «++» в синтаксисе C означает инкремент — увеличение на единицу. C++ — буквально «улучшенный C». Название лаконичное и точное.

1985: язык выходит в мир

C++ стал общедоступным в 1985 году. Для некоммерческого использования исходный код компилятора и базовых библиотек продавался по стоимости пересылки — $75 — это было ещё до эпохи повсеместного интернета.

В том же году вышла первая редакция книги «Язык программирования C++» — учебник, ставший де-факто стандартом на следующие годы. Официального стандарта ещё не существовало: книга Страуструпа и была этим стандартом.

В 1984 году он реализовал первую библиотеку потокового ввода-вывода. Идею использовать оператор вывода вместо именованной функции предложил Дуг МакИлрой — человек, ранее придумавший конвейеры Unix.

В 1989 году вышел C++ 2.0 с множественным наследованием, абстрактными классами, статическими и константными методами. В 1990-м «Аннотированное справочное руководство по C++» легло в основу будущего стандарта. Позднее были добавлены шаблоны, исключения, пространства имён и булевский тип.

Стандарт: тридцать лет борьбы с хаосом

К концу 1980-х годов C++ распространился настолько широко, что стал появляться риск расхождения: разные компиляторы реализовывали язык по-разному, и без единого стандарта программы переставали быть переносимыми.

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

«Чтобы сделать C++ стабильной и актуальной основой для реальной разработки программного обеспечения, я участвую в его стандартизации ISO уже более 30 лет», — пишет он на собственном сайте. Тридцать лет добровольной стандартизационной работы — результат не карьерного расчёта, а убеждения.

С 2012 года C++ выходит по трёхлетнему графику — C++11, C++14, C++17, C++20, C++23, следующий — C++26.

Масштаб: семь миллионов программистов и половина инфраструктуры мира

Трудно назвать сферу, которую не затронул C++. Примеры применения охватывают общее системное программирование, коммутацию, симуляцию, графику, пользовательские интерфейсы, встроенные системы, финансовые системы, искусственный интеллект и машинное обучение, игры и научные вычисления.

Значительная часть современной вычислительной, коммуникационной и коммерческой инфраструктуры построена на C++ — в том числе Google, Internet Explorer, Adobe Acrobat и Photoshop.

По опросу осени 2015 года, сообщество пользователей C++ насчитывало 4,4 миллиона программистов. Сегодня их, по всей видимости, больше — возможно, 7 миллионов.

Влияние C++ вышло далеко за пределы самого языка. Java, C#, Python — все они испытали его воздействие в части концепций объектно-ориентированного и обобщённого программирования.

Бьёрн Страуструп - фотография из архивов сайта
Бьёрн Страуструп - фотография из архивов сайта
Посмотреть фото →

Texas A&M, Morgan Stanley и Колумбия

После Bell Labs карьера Страуструпа развивалась по трём параллельным трекам: академический, индустриальный и стандартизационный.

С 2002 по 2014 год — профессор кафедры информатики Техасского университета A&M, где он возглавлял исследовательскую группу по крупномасштабному программированию.

С января 2014 по апрель 2022 года — управляющий директор технологического подразделения Morgan Stanley в Нью-Йорке. Академик с мировым именем в инвестиционном банке — неожиданное сочетание, но органичное: финансовые системы давно работают на C++, и Страуструп говорил с коллегами на их языке в прямом смысле слова.

С 2022 года он — штатный профессор Колумбийского университета в Нью-Йорке.

Книги и премии: измеримое наследие

Страуструп — автор десяти книг. Главные из них: «Язык программирования C++» (1985, четвёртое издание — 2013), «Дизайн и эволюция C++» (1994), «Программирование: принципы и практика на C++» и «Обзор C++» — книги, переведённые в совокупности на 21 язык.

Список наград отражает масштаб признания: премия Грейс Мюррей Хоппер от ACM (1993), членство в Национальной академии инженерных наук США (2004), медаль Фарадея Института инженерных технологий (2017).

Но главной стала премия 2018 года. Премия Чарлза Старка Дрейпера от Национальной академии инженерных наук США — неофициально называемая «Нобелевской премией инженерии» — была присуждена ему за создание языка программирования C++. Отмечается, что он единственный датчанин, удостоенный одновременно премий Дрейпера, Фарадея IET, медали Джона Скотта и награды ACM Grace Murray Hopper.

Философия: о языках, обучении и реальном мире

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

Он убеждён, что языки программирования должны помогать решать задачи и выражать идеи — а не сводиться к формальной элегантности.

В своих словах он так описывает свой вклад: «Я изобрёл C++, написал его ранние определения и создал первую реализацию. Выбрал и сформулировал критерии дизайна C++, разработал все его основные средства и нёс ответственность за рассмотрение предложений по расширению в комитете по стандартам C++».

Без скромности и без преувеличений. Просто точное описание того, что было сделано.

Бьёрну Страуструпу 74 года. Он по-прежнему преподаёт в Колумбийском университете. По-прежнему участвует в работе комитета ISO по стандартизации C++. По-прежнему пишет книги. Язык, который он начал разрабатывать в маленьком офисе Bell Labs в 1979 году, работает сегодня на семи миллионах компьютеров, серверов, автомобилей, самолётов и финансовых систем одновременно.

Рабочий класс Орхуса. Кембридж. Bell Labs. Семь миллионов программистов.


Tags: #БьёрнСтрауструпбиография #BjarneStroustrupсоздательC++ #историяязыкаC++ #C++BellLabsсоздание #СтрауструпDraperPrize #BjarneStroustrupкниги #C++склассамиистория #СтрауструпКолумбийскийуниверситет #создательC++биографиянарусском #C++

Дополнительные фотографии

Фото с сайта habr.com

Фото с сайта habr.com

Поделиться

Бьёрн Страуструп

Бьёрн Страуструп

создатель C++

Родился: 30.12.1950 (75)
Место: Aarhus (DK)

Последние новости

Люди Дня

Последние комментарии

  • 21.08.2026 13:37 Напоминание о себе Добрый день,прочитал всё с удовольствием и лёгкой ... [ Ольга Бичерова, Биография ]
  • 09.08.2026 19:31 Очевидец Случайно увидела на Ren TV передачу с участием Кон... [ Человек, который увидел ауру: хроники научного мистика ]
  • 08.08.2026 11:06 Поздравляю победителя международного конкурса Поздравляю А.В. Чернышева, доктора экономических н... [ Андрей Чернышев, Биография ]
  • 30.07.2026 19:20 Комментарий "Екатерина Чепик...родилась 11 октября 1990 г... [ Как вокальная школа изменила жизнь Екатерины Чепик ]
  • 23.07.2026 14:31 Исправления Исправляю опечатку: При испытании первой водородно... [ У Михаила Леонтьева отобрали «Однако». На время ]
  • 23.07.2026 14:25 Разъяснения При испытании первой водородной бомбы Майк, образо... [ У Михаила Леонтьева отобрали «Однако». На время ]
  • 23.07.2026 10:37 Однако, уже не то что раньше. По первому каналу прозвучала "аналитическая п... [ У Михаила Леонтьева отобрали «Однако». На время ]
  • 21.07.2026 08:55 Дополнения о наградах Карла Исабекова Кроме медали Анны Ахматовой, он в последние годы б... [ Карл Исабеков. Биография ]
  • 17.07.2026 12:35 ??? Автор, серьёзно "коучинг"??? Вообще русс... [ Двукратная чемпионка мира, звезда Netflix и чирлидер ]
  • 15.07.2026 21:09 Хан Ахмедов Спасибо за статью про моего отца Хан Ахмедова , ко... [ Хан Ахмедов, Биография ]

Оставьте Комментарий

Имя должно быть от 2 до 50 символов
Введите корректный email
Заголовок должен быть от 3 до 200 символов
Сообщение должно быть от 15 до 6000 символов