Языки объектно-ориентированного программирования

Автор работы: Пользователь скрыл имя, 12 Апреля 2012 в 23:21, реферат

Краткое описание

Использование объектно-ориентированной методологии не ограничено каким-либо одним языком программирования - она применима к широкому спектру объектных и объектно-ориентированных языков. Наряду с анализом и проектированием, несомненно, важны особенности конкретного языка программирования, поскольку, в конечном счете, наши конструкции должны быть выражены на каком-то языке.

Содержание работы

Введение 3
Сущность объектно-ориентированного подхода к программированию. 5
Модульное программирование 7
Нисходящее программирование 7
Пошаговое программирование 8
Структурное программирование 9
Понятия объекта, класса объектов 9
Основные понятия объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм. 10
Примеры языков объектно-ориентированного программирования: 12
Object Pascal 12
C++. 13
Common Lisp Object System (CLOS). 15
Ada. 16
Заключение. 19
Список литературы: 20

Содержимое работы - 1 файл

морковкина.docx

— 54.70 Кб (Скачать файл)

Ada

 

Происхождение

Министерство обороны США, возможно, самый крупный в мире пользователь компьютеров. В середине 70-х годов  программные разработки этого департамента достигли критической точки: проекты  выходили из временных и бюджетных  рамок, а заданных характеристик  достичь не удавалось. Стало очевидно, что дальше ситуация только ухудшится, стоимость разработки программных  систем взлетит еще выше, а потребность  в программах будет расти экспоненциально. Для решения всех этих проблем, отягощенных  вдобавок наличием сотен языков программирования, министерство обороны профинансировало проект создания единого общего языка высокого уровня. В некотором смысле Ada является одним из первых языков программирования, выпущенных промышленным способом. Исходные требования были сформулированы в 1975 году (Steelman) и реализованы в 1978 году. Был объявлен международный конкурс, на который откликнулось 17 участников. Это число затем было сокращено до четырех, затем до двух, и наконец до одного; при этом в проектировании и испытаниях участвовали сотни ученых по всему миру.

Проект-победитель вначале носил  условное наименование Green (в конкурсе проект имел зеленый кодовый знак); позднее он получил имя Ada в честь Ады Августы графини Лавлейс (Ada Augusta Lovelace), которая была удостоена этой чести за свои соображения о потенциальных возможностях компьютеров. Основным разработчиком языка был Жан Икбьян (Jean Ichbian) из Франции. В команду разработчиков входили: Бернд Криг-Брюкнер (Bernd Krieg-Brueckner), Бриан Вичман (Brian Wichmann), Анри Ледгар (Henry Ledgard), Жан-Клод Ельяр (Jean-Claude Heliard), Жан-Лу Гайли (Jean-Loup Gailly), Жан-Раймон Абриаль (Jean-Raymond Abrial), Джон Барнс (John Barnes), Майк Вуджер (Mike Woodger), Оливье Рубин (Olivier Roubine), С. А. Шуман (S. A. Schumann) и С. С. Весталь (S. С. Vestal).

Непосредственными предшественниками  Ada являются Pascal и его производные, включая Euclid, Lis, Mesa, Modula и Sue. Были использованы некоторые концепции ALGOL-68, Simula, CLU и Alphard. Стандарт ANSI для Ada был окончательно издан в 1983 году. Трансляторы Ada, хотя и не сразу, были реализованы для всех основных архитектур. Будучи созданным благодаря министерству обороны, язык Ada сегодня используется во многих государственных и коммерческих проектах. Ada - традиционный язык разработки больших и сложных систем, например, системы управления воздушным движением в США и Канаде. Стандарты ANSI должны пересматриваться каждые пять лет, поэтому в настоящее время изучается проект Ada 9x. В нем в исходное определение языка внесен ряд незначительных исправлений: уточнения, устранение очевидных пробелов, исправления ошибок. В настоящем виде Ada является объектным, но не объектно-ориентированным языком. Проект 9x подразумевает расширение языка до уровня объектно-ориентированного.

Обзор

Разработчики Ada прежде всего беспокоились о:

  • надежности и эксплуатационных качествах программ;
  • программировании как разновидности человеческой деятельности;
  • эффективности.

 

Характеристики языка ADA:

Абстракции

Переменные экземпляра Методы экземпляра Переменные класса Методы класса

Да Да Нет Нет

Инкапсуляция

Переменных Методов

Открытые, закрытые Открытые, закрытые

Модульность

Разновидности модулей

Пакет

Иерархии

Наследование Шаблоны Метаклассы

Нет (входит в Ada9x) Да Нет

Типизация

Сильная типизация Полиморфизм

Да Нет (входит в Ada9x)

Параллельность

Многозадачность

Да

Сохраняемость

Долгоживущие объекты

Нет


 

 

 

 

Заключение

 

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

К настоящему времени насчитывается более сотни различных объектных и объектно-ориентированных языков.

Объектно-ориентированное программирование является в настоящее время основой всей индустрии прикладного программирования благодаря выигрышу в конкурентной борьбе с альтернативными технологиями.

 

Список литературы:

  1. Грэхем И. Объектно-ориентированные методы. Принципы и практика, 3-е изд. — М.: Вильямс, 2004. — 880 с
  2. Объектно-ориентированное программирование // Wikibooks.ru URL: http://ru.wikibooks.org/wiki/Объектно-ориентированное_программирование (дата обращения: 28.03.2012).
  3. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — СПб.: Питер, 2003. — 368 с.
  4. Элиенс А. Принципы объектно-ориентированной разработки программ. — М.: Вильямс, 2002. — 496 с.

 


Информация о работе Языки объектно-ориентированного программирования