Согласно статистике, собранной компанией TIOBE в 2019 году, язык программирования С++ входит в пятерку наиболее популярных вместе с Java, C, Python. В сегодняшнем посте рассказываем о Бьёрне Страуструпе, авторе этого языка программирования.

Ранние годы

Бьёрн Страуструп (или, если быть точными, Бьярне Строуструп) родился 30 декабря 1950 года в датском городе Орхус в семье рабочих. В детстве Бьёрн посещал местные школы, в 1969 году поступил в Орхусский университет, где изучал математику и информатику. Примечательно, что Страуструп изучал основы объектно-ориентированного программирования у его изобретателя Кристена Найгаарда, который часто бывал в Орхусе.

Позднее Страуструп обучался в Кембридже – там он получил докторскую степень по информатике в 1979 году. Его диссертация касалась коммуникации в распределенных компьютерных системах.

Дальнейшая карьера

В 1979 году Страуструп начал сотрудничать с Исследовательским центром компьютерных наук Bell Labs в Мюррей-Хилл, Нью-Джерси, США в качестве разработчика. Уже тогда он начал работать над созданием собственного языка программирования и преобразованием методов программирования.

Страуструп возглавлял отдел крупномасштабных исследований в области программирования компании AT&T Bell Labs с момента его создания до конца 2002 года. В 1993 году он стал сотрудником Bell Labs, а в 1996 году — сотрудником AT&T.

С 2002 по 2014 год Страуструп был профессором инженерного факультета компьютерных наук Техасского университета A&M. В 2011 году Бьёрн получил звание заслуженного профессора в этом учебном учреждении.

С января 2014 года Страуструп является техническим директором в отделе разработки компании Morgan Stanley в Нью-Йорке, а также приглашенным профессором компьютерных наук в Колумбийском университете.

В 2015 году он стал членом Музея компьютерной истории за изобретение языка программирования C ++.

Разработка С++

Работа над новым языком программирования началась еще в конце 70-х годов прошлого века. Источниками вдохновения для него стали SIMULA-67 (объектно-ориентированный язык программирования, которому обучали в учебных учреждениях Скандинавии) и Basic Combined Programming Language – ЯП, ставший предшественником С.

Необходимость в создании нового языка программирования возникла, когда Бьёрн занимался задачами теории очередности во время работы с Bell Labs, необходимой для моделирования телефонных вызовов. Например, язык Симула был бы очень полезен, но скорость его работы не позволяла получить необходимый результат.

Изначально С++ задумывался как язык С «с классами» — первые попытки создать нечто подобное Страуструп предпринял еще во время работы над диссертацией. Первые версии «Си с классами» стали доступны в 1980 году.

Позднее Бьёрна Страуструп создал транслятор, перерабатывающий исходный код C с классами в исходный код простого C, который назывался cfront. Многие считают именно этот шаг ключевым в создании полноценного нового ЯП.

К тридцатилетию первого компилятора С++ пользователи ХАБР попробовали поискать ошибки в cfront. С результатами можно ознакомиться здесь.

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

Вторая редакция книги на русском языке

Сейчас С++ — совершенно самостоятельный язык программирования, который обширно используется разработчиками. С ним работает свыше 4 миллионов программистов по всему миру, код на С++ найдется на Facebook, Microsoft, Google, Amazon и других проектах.

Люди, которые думают, что они все знают, реально надоедают нам – людям, которые так не думают.

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