Отец C++ — Бьярне Страуструп (Bjarne Stroustrup), также автор книги The C++ Programming Language. Он разработал и реализовал этот язык для решения задачи распределения служб ядра UNIX по многопроцессорным системам и кластерам локальных сетей. Во время работы над событийно-ориентированным моделированием он заметил, что язык Simula подходит по логике, но не обеспечивает нужную производительность. Язык C был быстрым, но плохо поддерживал модульность и проверку типов. Тогда ему пришла идея добавить механизм классов из Simula в C — так появился «C with Classes», предшественник C++.
Позже язык использовался во множестве крупных проектов, подтвердив низкое потребление ресурсов и высокую эффективность. Однако тогда в нем отсутствовали многие важные возможности: перегрузка операторов, ссылки, виртуальные функции, шаблоны, обработка исключений и другие.
Сначала язык использовался только внутри лаборатории. В июле 1983 года C++ впервые вышел за пределы лаборатории и стал использоваться внешними организациями.
Символ ++ — оператор инкремента в языке C, он символизирует, что C++ является эволюцией и улучшенной версией C.
На этапе разработки стандарт C++11 имел кодовое название C++0x; данное руководство основано на C++11.
Главная цель создания C++ — избавить коллег от написания ассемблерного кода, чистого C или популярных в то время высокоуровневых языков, снизить сложность создания качественных программ и улучшить процесс программирования.
Развитие языка C++ шло параллельно с разработкой основных компонентов стандартной библиотеки.
Хронология C++
1979: Начало разработки, исходное название «C with Classes»; реализованы классы, конструкторы/деструкторы, базовая библиотека параллелизма
1984: Официальное переименование в C++; добавлены виртуальные функции, перегрузка, ссылки, библиотека потоков ввода-вывода
1985: Выпуск первой коммерческой версии C++
1998: Утвержден первый международный стандарт C++98
2002: Начало разработки нового стандарта с кодовым именем C++0x
2003: Выпуск исправленной версии C++98; добавлены компоненты библиотеки: регулярные выражения, хеш-контейнеры, умные указатели и т.д.
2009: Завершено формирование возможностей C++0x, добавлены современные механизмы: лямбда-функции, семантика перемещения, многопоточность, унифицированная инициализация и другие
2011: Новый стандарт официально назван C++11 и утвержден ISO
2012: Появились компиляторы с полной поддержкой C++11; началась разработка стандартов C++14 и C++17
Отец C++
Отец C++ — Бьярне Страуструп (Bjarne Stroustrup). Он родился в 1955 году, в 2022 году ушел на пенсию с полной ставки в Morgan Stanley, но продолжает работать над проектами, связанными с C++.
