Разработчиком
языка C++ является
Бьярни Страуструп (Bjarne Stroustrup). В своей работе он опирался на опыт создателей языков Симула, Модула 2,
абстрактных типов данных. Основные работы велись в исследовательском центре компании Bell Labs. Непосредственный предшественник С++ – язык
С с
классами – появился в 1979 году. Если говорить коротко, то
С++ является объектно-ориентированной версией языка
С.
С++ построен на основе версии
С89, включающей все усовершенствования 1995 года, и теперь версию
С89 называют С-подмножеством языка
С++. В 1997 году был принят международный ANSI/ISO-стандарт
С++, который фактически подвел итоги его 20-летнего развития.
Принятие стандарта обеспечило единообразие всех реализаций языка
С++. Не менее важным результатом стандартизации стало то, что в процессе выработки и утверждения стандарта язык был уточнен и дополнен рядом существенных возможностей. На сегодня стандарт утвержден Международной организацией по стандартизации ISO. Его номер
ISO/IEC 14882. ISO бесплатно стандарты не распространяет. Его можно получить на узле американского национального комитета по стандартам в информационных технологиях:
www.ncits.org. В России следует обращаться в ВНИИ Сертификации:
http://www.vniis.ru. Проекты стандарта имеются в свободном доступе:
Несмотря на то, что язык
С++ был задуман как набор объектно-ориентированных расширений языка
С, вскоре он развился в самостоятельный язык программирования. В настоящее время его новые средства почти удвоили объем исходного языка. На данный момент
С++ - один из самых мощных компьютерных языков. Язык
С++ является универсальным языком программирования, в дополнение к которому разработан набор разнообразных библиотек. Поэтому, строго говоря, он позволяет решить практически любую задачу программирования. Тем не менее, в силу разных причин (не всегда технических) для каких-то типов задач он употребляется чаще, а для каких-то – реже.
С++ как преемник языка
С широко используется в системном программировании. На нем можно писать высокоэффективные программы, в том числе операционные системы, драйверы и т.п. Язык
С++ – один из основных языков разработки
трансляторов. Поскольку системное программное обеспечение часто бывает написано на языке
С или
С++, то и программные
интерфейсы к подсистемам ОС тоже часто пишут на
С++. Соответственно, те программы, даже и прикладные, которые взаимодействуют с операционными системами, написаны на языке
С++. Распределенные системы, функционирующие на разных компьютерах, также разрабатываются на языке
С++. Обработка сложных структур данных – текста, бизнес-информации, Internet-страниц и т.п. – одна из наиболее распространенных возможностей применения языка. В прикладном программировании, наверное, проще назвать те области, где язык
С++ применяется мало. Разработка графического пользовательского интерфейса на языке
С++ выполняется, в основном, тогда, когда необходимо разрабатывать сложные, нестандартные интерфейсы. Простые программы чаще пишутся на языках Visual Basic,
Java и т.п. Программирование для Internet в основном производится на языках Java, VBScript, Perl.