История создания языка Паскаль

  • 09 апр. 2012 г.
  • 4531 Слова
Содержание 1 История 1.1 Стандартизация языка1.2 История названия2 Философия C++3 Обзор языка 3.1 Необъектно-ориентированные возможности 3.1.1 Комментарии3.1.2 Типы3.1.3 Разное3.2 Объектно-ориентированные особенности языка 3.2.1 Описание функций в теле класса3.2.2 Константные функции-члены3.2.3 Наследование3.2.4 Полиморфизм3.2.5 Инкапсуляция3.2.6 Друзья3.2.7 Конструкторы и деструкторы3.2.8Перегрузка операторов4 Стандартная библиотека 4.1 Реализации5 Отличия С++ от C 5.1 Новые возможности по сравнению с C5.2 C++ не включает в себя C6 Дальнейшее развитие 6.1 Ключевое слово export |
История
Исторический этап развития[5] | Год |
Язык BCPL | 1966 |
Язык Би (оригинальная разработка Томпсона под UNIX) | 1969 |
Язык Си (добавление Ритчи типа и управляющих структур в язык Би) | 1973 |
Си склассами | 1979 |
C84 | 1984 |
Cfront (выпуск E) | 1984 |
Cfront (выпуск 1.0) | 1985 |
Появление множественного/виртуального наследования | 1988 |
Обобщенное программирование (шаблоны) | 1991 |
ANSI C++ / ISO-C++ | 1996 |
ISO/IEC 14882:1998 | 1998 |
ISO/IEC 14882:2003 | 2003 |
C++/CLI | 2005 |
TR1 | 2005 |
C++11 | 2011 |
Язык возник в начале 1980-х годов, когда сотрудник фирмыBell Laboratories Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. В 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений кстандарту в 2003 году — нынешняя версия этого стандарта — ISO/IEC 14882:2003.[6]
Ранние версии языка, известные под именем «C с классами», начали появляться с 1980 года.[7] Идея создания нового языка берёт начало от опыта программирования Страуструпа для диссертации. Он обнаружил, что язык моделирования Simula имеет такие возможности, которые были бы очень полезны для разработки большого программногообеспечения, но работает слишком медленно. В то же время язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения. Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов). Попытки применения существующих в то время языков моделирования оказались неэффективными.Вспоминая опыт своей диссертации, Страуструп решил дополнить язык C (преемник BCPL) возможностями, имеющимися в языке Симула. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате, практические задачи моделирования оказались доступными длярешения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов) так и с точки зрения времени вычислений (благодаря быстродействию C). В начале в C были добавлены классы (с инкапсуляцией), производные классы, строгая проверка типов, inline-функции и аргументы по умолчанию.
Разрабатывая C с классами (позднее C++), Страуструп также написал программу cfront — транслятор,перерабатывающий исходный код C с классами в исходный код простого C. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.
В 1983 году произошло переименование языка из C с классами в C++. Кроме того, в него были добавлены новые возможности, такие как виртуальные функции, перегрузка функций иоператоров, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Его первый коммерческий выпуск состоялся в октябре 1985 года. В 1985 году вышло также первое издание «Языка программирования C++», обеспечивающее первое описание этого языка, что было чрезвычайно важно из-за отсутствия...
tracking img