лекция ориентированное моделирование и программирование. Лекция №2 - ООМиП. Лекция 2 История оояп. Перспективы оояп
Скачать 1.95 Mb.
|
Объектно- ориентированное моделирование и программирование Уфа-2021 http://vk.com/asu_ugatu http://asu.ugatu.ac.ru/ Лекция №2 – История ООЯП. Перспективы ООЯП. http://sdo.ugatu.su Преподаватель: доцент, Казанцев Андрей Валерьевич http://asu.ugatu.su/ http://инфопроект.рф Концептуальная база объектно-ориентированной парадигмы Концептуальная база для ООП – это объектная модель. 1) Абстрагирование 2) Инкапсуляция 3) Полиморфизм 4) Наследование Без любого из этих принципов модель не будет объектно-ориентированной. Концептуальная база объектно-ориентированной парадигмы Группа механизмов ООП – набор выразительных средств языка или программных инструментов, которые объединены по признаку реализации одного из принципов ООП. Механизм – некоторый инструмент или выразительное средство языка, которое может включать в себя модели, алгоритмы, синтаксические единицы, принципы построения программы и т.д. Ключевые положения объектно- ориентированного подхода По мнению Алана Кея (создателя Smalltalk), объектно- ориентированный подход к программированию заключается в некотором наборе ключевых положений. Ключевые положения объектно- ориентированного подхода 1) Всё является объектом 2) Вычисления осуществляются путем взаимодействия между объектами 3) Каждый объект имеет независимую память 4) Каждый объект является представителем (экземпляром) класса 5) В классе задается поведение (функциональность) объекта 6) Классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования. Группа механизмов, определяющая особенности разработки программ 1) Синтаксис – механизм языка программирования, который описывает структуру программ на том или ином языке программирования. 2) Структура программы – механизм, определяющий строение программного кода. 3) Отладка – механизм, упрощающий процесс выявления и устранения ошибок в программе. История ООЯП Первый ООЯ был язык Simula (SIMUlation LAnguage) 1967. Авторы языка — норвежские ученые Кристен Нюгор и Оле-Йохан Даль. Первые версии языка работали на 36-битных компьютерах UNIVAC 1107. Язык был предназначен для моделирования различных объектов и процессов, и объектно-ориентированные черты появились в нем именно для описания свойств модельных объектов. Следующий язык – Smalltalk (создан в 1980 году), который был изобретен в компании Xerox PARC (Алан Кей и некоторые другие ученые), фактически навязывал использование «объектов» и «сообщений» как базиса для вычислений. История ООЯП Язык был предназначен для проектирования сложных графических интерфейсов и был первым по настоящему объектно- ориентированным языком. Пример кода: В результате будет нарисован правильный треугольник со стороной в 100 пикселей. Следующий язык – Eiffel (1986 год) – создатель языка Бертран Мейер, профессор университета ИТМО, ныне преподаватель в университете Иннополис. История ООЯП Основное применение этого языка связано с приложениями большого размера в критически важных по надежности областях в таких как, например, финансовая, военная, аэрокосмическая. ООП развилось в доминирующую методологию программирования в начале и середине 1990 годов. В это время появились широкодоступные языки программирования: C++ (1983), Delphi (1995), Object-C (1983, построен на парадигме Smalltalk) и т.п. История ООЯП Доминированием этой методологии поддерживалось ростом популярности графических интерфейсов пользователя, которые основывались на техниках ООП. История ООЯП Язык Python был разработан в 1990 году. Язык Java был разработан в 1995 году. Язык Perl 6 был разработан в 2000 году. Язык C# разработан в 2001 году. Язык Scala был разработан в 2003 году. Язык С++ разработал Бьёрн Страуструп, он придумал ряд усовершенствований к языку С под собственные нужды. Страуструп решил дополнить язык С возможностями, имеющимися в языке Simula. История ООЯП Язык Python Разработка языка Python была начата Гвидо ван Россумом Python язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. История ООЯП Язык Java Автором языка Java является Джеймс Гослинг. Изначально язык разрабатывался для программирования бытовых электронных устройств. Java сейчас используется повсюду, в телефоне, в приставке, в кредитке, на сервере, к которому вы сейчас подключены, в браузере, который вы используете. Работает на огромном количестве операционных систем и железе. Java, работает под JVM — виртуальной машиной Java (Java Virtual Machine). История ООЯП Язык Perl 6 Язык программирования Perl создал Ларри Уолл. Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Perl 6 — очередная версия языка программирования Perl История ООЯП Язык C# Язык программирования C# разработан группой инженеров компании Microsoft под руководством Андерса Хейлсберга и Скотта Вильтаумота. C# — язык программирования, который компания Microsoft изначально делала для своих проектов. История ООЯП Язык Scala Первые версии языка Scala были созданы в лаборатории методов программирования Федеральной политехнической школы Лозанны под руководством Мартина Одерски. Язык реализован для платформы Java. Scala может стать приемником Java. Scala, как и Java, работает под JVM — виртуальной машиной Java (Java Virtual Machine). Scala выбирают те, кому нравится объектный подход, но не нравится то, как это сделано в Java. Перспективы ООЯП Тенденции развития языков программирования: 1) Стремление к совершенству 2) Нацеленность на эффективность 3) Повышение сложности задач 4) Продление жизненного цикла ПО Стремление разработчиков создавать программы, которые не зависели бы от типа компьютера и операционной системы – создало современный язык Java. Перспективы ООЯП Среди аргументов в пользу использования объектно- ориентированного программирования можно выделить: 1) Простота 2) Высокая скорость разработки 3) Удобство тестирования и обслуживания Объектно-ориентированные языки программирования поставляются с богатыми библиотеками объектов, а код, разработанный в ходе реализации проекта, также может быть повторно использован в будущем при создании других программ. Как и что программировать? Последовательное изучение ООМиП. 1. Объекты и классы: спецификация языка Java, API, JDK, JRE и IDE; определение классов для объектов; создание объектов с помощью конструкторов, доступ к объектам с помощью ссылочных переменных; различия между переменными примитивных и ссылочных типов; использование классов из Java-библиотеки; статические переменные, константы и методы; модификаторы доступа; инкапсуляция полей данных; передача методам объектов; массив объектов; неизменяемые объекты и классы; область видимости переменных; ссылка this. 2. Объектно-ориентированное мышление: абстракция и инкапсуляция класса; мышление объектами; отношения между классами (вот тут появляется моделирование); обработка примитивных типов как объектных; автоматическое преобразование между примитивными типами и классами-обертками; классы BigInteger и BigDecimal; класс String; классы StringBuilder и StringBuffer. 3. Наследование и полиморфизм: суперклассы и подклассы; особенности наследования в Java; ключевое слово super; переопределение методов; переопределение и перегрузка; класс Object и его метод toString(); полиморфизм; динамическое связывание; приведение объектов и оператор instanceof; класс ArrayList; полезные методы для обработки ArrayList; модификатор доступа protected; предотвращение порождения и переопределения. ООМиП это только про написание кода? Конечно, НЕТ! В ИТ сфере есть такое понятие как DevOps DevOps (акроним от англ. Development /разработка/ и Operations /сопровождение/) — это инженерная культура, практики и инструменты, направленные на сокращение релизного цикла, повышение эффективности и обеспечение возможности выпуска релиза в любой момент посредством: •интеграции Development и Operations; •создания единой команды; •автоматизации рутинных операций; •частой проверки кода. DevOps как стиль жизни Источник: https://partner.sberbank-school.ru/ - курс DevOps для всех Источник: https://partner.sberbank-school.ru/ - курс DevOps для всех Вопрос дня, месяца и года! А кем мы можем работать? Что же такое прикладная информатика? На сегодняшний день существует карьерный навигатор по ИТ специальностям! Продолжите фразу: «Live and let …» Спасибо за внимание |