Файл: История развития объектноориентированного программирования..docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 42

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Государственное бюджетное профессиональное образовательное учреждение Ростовской области 

«Волгодонский техникум информационных технологий, бизнеса и дизайна имени В. В. Самарского»

Индивидуальный проект

по дисциплине ОУД.14 Основы проектной деятельности

Тема: «История развития объектно-ориентированного программирования.»

Выполнил:

студент 1 курса

группы ИСП-21к

Зорина Ангелина Алексеевна

Руководитель:

преподаватель

Кузнецова Лейла Хамадовна

Волгодонск

2022

Содержание


1Основная часть 3

1.1Объект 3

Объект - это идентифицируемая сущность с некоторыми характеристиками и поведением. Объект - это экземпляр класса. При определении класса память не выделяется, но при его создании (т.е.объекта) выделяется память. 3

1.2 Из «древней истории» 3

Пожалуй, первым компьютерным решением, воплотившим в себе объектный подход, стал программно-аппаратный графический Планшет (Sketchpad: A Man-Machine Graphical Communications System), использовавший оборудование DEC PDP. Его в 1963 г. разработал 25-летний Иван Сазерленд, помогавший в создании симуляторов вертолетов военному научному агентству DARPA, а затем занявшийся в Массачусетском технологическом институте докторской диссертацией и имевший удовольствие общения с Клодом Шенноном. С помощью светового пера и системы выпадающих меню пользователь Планшета мог рисовать различные несложные изображения на аналоговом дисплее, перемещать их и точно располагать в определенных позициях экрана, а также хранить. В качестве понятия класса Сазерленд использовал определение "мастер", разделяя описание и реально существующий на экране объект (экземпляр "мастера"). 3

1.2.1Основоположники в ООП 3

1.2.2«SIMULA I И SIMULA 67» 4

1.2.3Процедуры на Simula 4

1.2.3 Принципы 5

1.3"Средние века" ООП. Хронология 6

1.3.1 C++ 6

1.4Наше время 7

1.5 Что дальше? 9

Список использованной литературы 10

1.История объектно-ориентированного программирования [Электронный ресурс.] – Режим доступа: https://computer-museum.ru/histsoft/oophist.htm. – Дата доступа: 24.05.2023. 10




  1. Основная часть


    1. Объект

Объект - это идентифицируемая сущность с некоторыми характеристиками и поведением. Объект - это экземпляр класса. При определении класса память не выделяется, но при его создании (т.е.объекта) выделяется память.

1.2 Из «древней истории»

Пожалуй, первым компьютерным решением, воплотившим в себе объектный подход, стал программно-аппаратный графический Планшет (Sketchpad: A Man-Machine Graphical Communications System), использовавший оборудование DEC PDP. Его в 1963 г. разработал 25-летний Иван Сазерленд, помогавший в создании симуляторов вертолетов военному научному агентству DARPA, а затем занявшийся в Массачусетском технологическом институте докторской диссертацией и имевший удовольствие общения с Клодом Шенноном. С помощью светового пера и системы выпадающих меню пользователь Планшета мог рисовать различные несложные изображения на аналоговом дисплее, перемещать их и точно располагать в определенных позициях экрана, а также хранить. В качестве понятия класса Сазерленд использовал определение "мастер", разделяя описание и реально существующий на экране объект (экземпляр "мастера").
Сазерленд также придумал первый прототип нынешних систем виртуальной реальности, ухитрившись спроецировать изображение с двух мониторов непосредственно в глаза человека (как стереоскопический фильм), а было это в 1968 г. Специальные датчики контролировали положение головы и соответственно изменяли прокручиваемые перед глазами ролики. Этот человек защитил восемь патентов по компьютерной графике, занимался шагающими роботами в Калифорнийском университете, а затем работал вице-президентом компании Sun Microsystems.

      1. Основоположники в ООП

Основоположниками объектного подхода в программировании считаются норвежцы Оле Джохан Дал и Кристен Нюгорт, авторы языка Симула. В 1952 г. Нюгорт решил заняться моделированием крупных и сложных систем реального мира, в 1957-м получил возможность компьютерной реализации своих замыслов на машине Ferranti MERCURY, но быстро осознал ограниченность машинных языков и Фортрана.

Основоположниками объектного подхода в программировании считаются норвежцы Оле Джохан Дал и Кристен Нюгорт, авторы языка Симула. В 1952 г. Нюгорт решил заняться моделированием крупных и сложных систем реального мира, в 1957-м получил возможность компьютерной реализации своих замыслов на машине Ferranti MERCURY, но быстро осознал ограниченность машинных языков и Фортрана.



Ferranti MERCURY – версия, созданная Манчестерским университетом в содружестве с компанией Ferranti в ходе работ над компьютером Mark 2. Она отличалась поддержкой операций с плавающей точкой. Память компьютера составляла 1024 слова по 40 бит с временем доступа 10 мкс к 10-битовому слову. Устройство адресации могло работать с 10-, 20- и 40-битовыми словами. Долговременная память насчитывала 4096 40-битных слов и обрабатывала их со скоростью 17,28 мс. Для выявления сбоев выполнялась проверка четности. Программисты решали задачи с помощью языка Mercury Autocode.

      1. «SIMULA I И SIMULA 67»

«SIMULA I (1962-65) и Simula 67 (1967) — два первых объектно-ориентированных языка программирования. Simula 67 включала в себя большую часть концепций объектно-ориентированного программирования: классы и объекты, подклассы (наследование), виртуальные функции, безопасные ссылки и механизмы, позволяющие внести в программу коллекцию программных структур, описанных общим заголовком класса (префиксные блоки). Simula 67 стала новаторской системой, которая впоследствии стала основой для создания большого количества других языков программирования, в том числе Pascal и Lisp. В 1980-х годах объектно-ориентированное программирование приобрело огромную популярность, и основным фактором в этом стало появление языка С++

      1. Процедуры на Simula

Пример процедуры с двумя входными и одним выходным параметрам:

Begin Procedure RightText(T, N, FitsIn); Text T; Integer N;

Name FitsIn; Boolean FitsIn

Begin

Integer I;

FitsIn := N >= T.Length;

For i:=1 step 1 until N-T.Length do OutText(" ");

OutText(T)

End of RightText;

  RightText("Short", 30); OutImage;

RightText("And the long one", 30);

End of Program;

Вывод:

Short And the long one

1.2.3 Принципы

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

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


Наследование. Второй принцип ООП - наследование - предполагает возможность повторного использования кода по наследству от старших классов. Допустим, что в дополнение к объекту “Машина”, одному пользователю нужен объект “Гоночный автомобиль” а другому - “Лимузин”. Каждый строит свои объекты по отдельности, но обнаруживает общие черты между ними. На самом деле, каждый объект на самом деле является лишь разновидностью автомобиля. Именно здесь принцип наследования позволяет сэкономить время: достаточно создать один общий класс, а затем - несколько подклассов, каждый из которых будет иметь набор свойств, включающий как общие, так и сугубо индивидуальные параметры.

Объектно-ориентированное программирование часто является наиболее естественным и прагматичным подходом к разработке приложений и сервисов самого разного назначения. Языки ООП позволяют вам разбить ваше программное обеспечение на небольшие блоки, решая небольшие задачи - по одной за раз.
    1. "Средние века" ООП. Хронология


1974 г. Марвин Мински, основоположник теории искусственного интеллекта, предложил идею фрейма, отделившего описание класса (структуры) объекта от его конкретного представления (экземпляра) и быстро завоевавшего популярность в языках искусственного интеллекта. Фрейм стал прямым предшественником современного понятия объектов в Си++.

1976 г. Кринстен Нюгорн создал новый язык BETA, в котором ввел концепцию шаблонов – более высокого уровня абстракций, нежели объекты. Его коллега Оле Джохан Дал еще долгое время работал профессором информатики в Университете Осло. А Нюгорн на некоторое время занялся политикой и активно выступал против вступления Норвегии в Евросоюз.

1980 г. Бьерн Страуструп, продолживший дело своих коллег из лаборатории Bell, дополнил язык Си концепцией классов, основанной на фреймах и объектных механизмах Симулы.

1982 г. В Мехико прошла 8-я Международная конференция по сверхбольшим БД (VLDB), где была предложена концепция объектно-ориентированных БД и рассматривались вопросы расширения существовавших языков запросов к БД новыми, объектными типами данных.

1983 г. Страуструп дал своему творению окончательное название Си++.

1.3.1 C++

C++  — компилируемый
статически типизированный язык программирования общего назначения.

Поддерживает такие парадигмы программирования, как процедурное программированиеобъектно-ориентированное программированиеобобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков[4][5]. В сравнении с его предшественником — языком C — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования[5].

C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования[мнения 1][мнения 2]. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также компьютерных игр. Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCCVisual C++Intel C++ CompilerEmbarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
    1. Наше время


Первая всемирная конференция по объектно-ориентированным системам программирования прошла в 1986 году, в Портленде. Возможно, именно прозвучавшие на ней доклады оказали стимулирующее влияние на Уильяма Аткинсона, инженера Apple, который через год после этого спроектировал систему HyperCard, прообраз современных визуальных сред быстрой разработки. Эффективность новой технологии оказалась столь высокой, что уже в 1989 г. одиннадцать компаний, среди которых были 3Com, American Airlines, Canon, Data General, Hewlett-Packard, Philips Telecommunications, Sun Microsystems и Unisys, основали группу OMG (Object Management Group), призванную формировать индустриальные стандарты на объектное программирование и упрощать интеграцию приложений с помощью универсальных кросс-платформных технологий. Эта группа первым делом приступила к выработке единого стандарта компонентной модели CORBA (Common Object Request Broker Architecture) – набора спецификаций, определяющих способы объектно-ориентированного взаимодействия компонентов промежуточного уровня в гетерогенных средах без привязки к конкретным языкам программирования. С самого начала CORBA нацеливалась на поддержку крупных, индустриальных проектов, и этот подход со временем себя полностью оправдал. Сегодня нет другого столь же распространенного независимого стандарта, поддерживающего самые разные ОС и объектные модели.