История языка С/C++
∙ Язык программирования C++ создан на основе языка C. Язык программирования C разработан в начале 1973 года в компании Bell Labs Кеном Томпсоном и Деннисом Ритчи.
∙ Язык C был создан для использования в операционной системе UNIX. В связи с успехом UNIX язык C получил широкое распространение.
∙ На данный момент C является одним из самых распространённых языков программирования (доступен на большинстве платформ). C — основной язык для низкоуровневой разработки.
Особенности C:
- ∙ Эффективность. Язык С позволяет писать программы, которые напрямую работают с железом.
- ∙ Стандартизированность. Спецификация языка C является международным стандартом.
- ∙ Относительная простота. Стандарт языка C занимает 230 страниц (против 670 для Java и 1340 для C++).
Создание C++
∙Язык С++ разрабатывается с начала 1980-х годов. ∙ Создатель — сотрудник Bell Labs Бьёрн Страуструп.
∙ Изначально это было расширение языка C для поддержки работы с классами и объектами. ∙ Это позволило проектировать программы на более высоком уровне абстракции.∙ Ранние версии языка назывались “C with classes”.∙ Первый компилятор cfront, перерабатывал исходный код “C с классами” в исходный код на C.
∙ К 1983 году в язык было добавлено много новых возможностей (виртуальные функции, перегрузка функций и операторов, ссылки, константы, . . .) ∙ Получившийся язык перестал быть просто дополненной версией классического C и был переименован из “C с классами” в C++.
∙ Имя языка, получившееся в итоге, происходит от оператора унарного постфиксного инкремента C ’++’ (увеличение значения переменной на единицу).
∙ Язык также не был назван D, поскольку “является расширением C и не пытается устранять проблемы путём удаления элементов C”.
∙ Язык начинает активно развиваться. Появляются новые компиляторы и среды разработки.
Стандартизация 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.
Совместимость C и C++
- Один из принципов разработки стандарта C++ — это сохранение совместимости с C
- Синтаксис C++ унаследован от языка C
- С++ не является в строгом смысле надмножеством C.
- Можно писать программы на C так, чтобы они успешно компилировались на C++.
- C и C++ сильно отличаются как по сложности, так и по принятым архитектурным решениям, которые используются в обоих языках.
|