История языка C++

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

Разрабатывается с начала 1980-х годов. Создатель — сотрудник Bell Labs Бьёрн Страуструп. Изначально это было расширение языка C для поддержки работы с классами и объектами. Это позволило проектировать программы на более высоком уровне абстракции. Ранние версии языка назывались “C with classes”. Первый компилятор cfront, перерабатывающий исходный код “C с классами” в исходный код на C.

К 1983 году в язык было добавлено много новых возможностей:
  • виртуальные функции;
  • перегрузка функций и операторов;
  • ссылки;
  • константы.
Получившийся язык перестал быть просто дополненной версией классического C и был переименован из “C с классами” в C++. Имя языка, получившееся в итоге, происходит от оператора унарного постфиксного инкремента C ’++’ (увеличение значения переменной на единицу). Язык также не был назван D, поскольку “является расширением C и не пытается устранять проблемы путём удаления элементов C”.

В 1998 году впервые был стандартизован язык C++. В 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 “Standard for the C++ Programming Language”.

В 2003 году был опубликован стандарт языка ISO/IEC 14882:2003, где были исправлены выявленные ошибки и недочёты предыдущей версии стандарта.

В 2005 году был выпущен Library Technical Report 1 (TR1). С 2005 года началась работа над новой версией стандарта, которая получила кодовое название C++0x.

В конце концов в 2011 году стандарт был принят и получил название C++11 ISO/IEC 14882:2011.

В данный момент ведётся одновременная работа над двумя версиями стандарта: C++14 и C++17.

Комментариев нет:

Отправить комментарий