Эволюция парадигмы программирования.pptx
- Количество слайдов: 7
Как узнать, когда появляется потребность в новой парадигме? Какими механизмами абстракции она должна обладать? Как оценивать новые парадигмы? Рассмотрим базовые принципы эволюции парадигм программирования.
Принцип эквивалентности Любая задача, которую можно решить с помощью какой-либо парадигмы программирования в иерархии из рисунка, должна быть решаемой с помощью остальных парадигм. Весь код должен преобразовываться в машинный, чтобы для каждой программы в любой парадигме с высоким уровнем абстракции существовала эквивалентная программа на машинном коде. Поскольку любую программу, составимую в машинном коде, также можно составить на ассемблере или процедурном языке, то можно утверждать эквивалентность всех программ в иерархии. Парадигмы в приведенной иерархии имеют слабую эквивалентность, то есть хотя они все позволяют вычислить одну и ту же функцию, делать это они могут по-разному.
Аспектно-ориентированное Программирование Возрастание сложности Объектно-ориентированное Программирование Процедурнное Программирование Ассемблер Машинный код Парадигмы программирования. Иерархически изображены принципы программирования по мере увеличения уровня сложности и широты возможностей механизмов абстрагирования
Парадигма: структурная Структурное программирование — парадигма, имеющая два значения: ü низкоуровневая трактовка предполагает, что программная логика состоит из нескольких структур, комбинируемых определенным образом. Элементарными структурами обычно являются последовательность (выполнение нескольких команд или блоков последовательно, в определенном порядке), условный переход (выполнение одного из списков команд в зависимости от текущего состояния программы) и повторение (выполнение одного списка команд несколько раз). Большинство современных императивных языков программирования поддерживают эту трактовку структурной парадигмы. ü более высокоуровневая трактовка предполагает разделение логики программы на несколько подпрограмм, каждая из которых будет иметь одну точку входа. Мнения о количестве точек выхода расходятся: теоретически предпочтение отдается единственной точке выхода, но на практике их может использоваться несколько. Примером такой ситуации является разветвление логики подпрограммы и необходимость сигнализировать о возникновении ошибки или об успешном конце работы одной из ветвей. Конечно, подпрограммы с несколькими точками выхода могут быть переписаны так, чтобы оставить только одну точку выхода, но это излишне усложнит код. Эта трактовка структурной парадигмы сходна с процедурным программированием: легче и нагляднее всего такое разделение на подпрограммы реализуется именно в виде процедур. Структурное программирование является частным случаем императивного программирования.
Схематичное изображение цикла for Выражение 1 Выражение 2 Оператор Выражение 3 Цикл for Для организации цикла for необходимо выполнить три обязательных действия: - установить начальные значения переменных - проверять истинность условия цикла - на каждом шаге изменять значение счетчика чикла
Объектно-ориентированного программирования: Мы живем в мире объектов. Стол, автомобиль, ручка, классная доска – все это объекты. Наряду с физическими существуют так же абстрактные объекты, типичными представителями которых являются числа. Таким образом, объект – это любая физическая или абстрактная четко идентифицируемая сущность. Объект – это общефилософское понятие, которое изучалось философами на протяжении длительного времени. Помимо атрибутов объекты обладают некоторыми функциональными возможностями, которые в объектно-ориентированном программировании (ООП) называют операциями или методами. Так автомобиль может ездить, корабль – плавать, компьютер – производить вычисления.
Имя класса Класс А Атрибуты Атрибут 1 Атрибут 2 Атрибут 3 Методы Метод 1 Метод 2
Эволюция парадигмы программирования.pptx