Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

С++ родился

С++ был изобретен Бьярном Страуструпом в 1979 г. Сначала Страуструп назвал новый язык "С с классами". Однако в 1983 г. язык получил название С++.

Страуструп построил С++ на базе С, сохранив все возможности С, его характерные особенности и достоинства. Он перенял также и базовую стратегию С, согласно которой программист, а не язык определяет структуру программы. Важно понимать, что Страуструп не создал совершенно новый язык программирования. Напротив, он расширил уже имеющийся весьма успешный язык.

Большая часть средств, добавленных Страуструпом к С, предназначена для поддержки объектно-ориентированного программирования. В сущности, С++ является объектно-ориентированной модификацией С. Построив новый язык на базе С, Страуструп обеспечил плавный переход к внедрению ООП. Вместо того, чтобы изучать совершенно новый язык, программисту, работающему на С, было достаточно освоить лишь несколько новых средств, после чего он мог пожинать все плоды методологии объектно-ориентированного программирования.

Создавая С++, Страуструп понимал, что добавляя к языку С поддержку объектно-ориентированного программирования, необходимо было в то же время сохранить дух языка С, включая его эффективность, гибкость и стратегию программирования. К счастью, эта цель была достигнута. С++ предоставляет программисту все возможности С, добавляя к ним могущество объектов.

Хотя первоначально С++ создавался в качестве средства разработки очень больших программ, его использование отнюдь не ограничивается этой сферой. В действительности объектно-ориентированные средства С++ могут эффективно применяться для решения практически любых задач программирования. Легко найти примеры разработки на С++ таких программных проектов, как текстовые или графические редакторы, базы данных, персональные файловые системы, сетевые утилиты и коммуникационные программы. В силу того, что С++ воспринял эффективность С, его часто используют для разработки высокопроизводительного системного программного обеспечения. Он также широко используется и для программирования в системе Windows.

 

Эволюция С++

С момента своего появления С++ претерпел три серьезных модификации, каждая из которых расширяла и изменяла язык. Первая модификация была предложена в 1985 г., вторая - в 1990 г. Третья модификация появилась в процессе стандартизации С++. Несколько лет назад началась разработка стандарта для С++. С этой целью организациями ANSI (Американский национальный институт стандартов) и ISO (Международная организация по стандартизации) был создан объединенный комитет по стандартизации. Первый вариант предлагаемого стандарта был выпушен 25 января 1994 г. В этот вариант комитет ANSI/ISO по С++ включил средства, определенные Страуструпом, с добавлением некоторых новых. В целом первый вариант стандарта отражал состояние С++ на тот момент времени.

Вскоре после завершения работы над первым вариантом стандарта С++ произошло событие, которое заставило серьезно расширить стандарт: создание Александром Степановым стандартной библиотеки шаблонов (Standard Template Library, STL). STL представляет собой набор обобщенных процедур, с помощью которых можно обрабатывать данные. Эта библиотека сочетает в себе могущество и элегантность. Но она также весьма велика. Выпустив первый вариант стандарта С++, комитет проголосовал за включение STL в спецификацию С++. Добавление STL расширило возможности С++ далеко за пределы его первоначального определения. С другой стороны, включение STL, хотя и вполне оправданное, замедлило процесс стандартизации С++.

Уместно заметить, что стандартизация С++ заняла значительно больше времени, чем это можно было предполагать. В процессе стандартизации к языку было добавлено много новых средств, а также внесено большое количество мелких изменений. В результате вариант С++, определенный комитетом ANSI/ISO, оказался значительно объемнее и сложнее первоначального замысла Страуструпа. Окончательный набросок стандарта был выпущен комитетом 14 ноября 1997 г., и весь стандарт стал действовать в 1998 г. Эту спецификацию С++ обычно называют стандартным С++.

Настоящий курс базируется как раз на стандартном С++. Это вариант С++, поддерживаемый всеми основными компиляторами языка С++, включая Visual С++ фирмы Microsoft и С++ Builder фирмы Borland.

 

Цель 1.2. Как С++ соотносится с языками Java и С#

Как известно, относительно недавно появилось два новых языка: Java и С#. Язык Java был разработан фирмой Sun Microsystems; С# создан фирмой Microsoft.

С++ является родительским языком по отношению к языкам Java и С#. Хотя и в Java, и в С# добавлены, удалены или модифицированы некоторые свойства, в целом синтаксис всех этих трех языков практически одинаков. Более того, объектная модель, используемая в С++, аналогична тем, что используются языками Java и С#. Наконец, общее ощущение программиста при работе на этих языках оказывается весьма схожим. Это значит, что если вы знаете С++, вы с легкостью изучите Java или С#. Справедливо также и обратное

Основное отличие Java и С# от С++ заключается в том, что они предназначены для разных вычислительных сред. С++ разрабатывался с целью обеспечения создания высокопроизводительных программ для конкретного типа процессора и определенной операционной системы. Например, если вы хотите написать программу, которая будет выполняться на процессоре Pentium фирмы Intel под управлением операционной системы Windows, то лучше С++ вы ничего не найдете.

Java и С# создавались для обеспечения специфических требований, возникающих при написании программ реального времени, работающих в среде сети Интернет (С# также имел своей целью задачу упрощения разработки программных компонентов). Интернет объединяет много разных типов процессоров и операционных систем. С его широким распространением особое значение приобрела возможность создания межплатформенных, переносимых программ.

Первым языком, решающим эту задачу, стал Java. Используя этот язык, можно писать программы, работающие в самых различных вычислительных средах. Java-программа может свободно перемещаться в сети Интернет. Однако, ценой, которую вы платите за переносимость, является эффективность; Java-программы выполняются медленнее программ, написанных на С++. То же справедливо и по отношению к С#. Вывод таков: если вы разрабатываете высокопроизводительное программное обеспечение, используйте С++. Если вам нужны высокомобильные, переносимые программы, используйте Java или С#.

 

<== предыдущая лекция | следующая лекция ==>
Язык С: Заря современной эры программирования | Спросим у эксперта
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 288; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.