Парадигмы программирования

Парадигмы программирования

1. Лекция №1 Парадигмы программирования

парадигмы разные нужны,

парадигмы разные важны

доц. Песчаненко В.С.

Херсонский государственный университет

Научно-исследовательский институт информационных технологий

Лаборатория по разработке и внедрению педагогических программных средств

2. Парадигмы программирования

Все они — всего лишь различные инструменты.

Каждый из этих инструментов по-своему

Различные методики программирования дают

разный выигрыш для решения задач разных

1. эффективность программного обеспечения на

2. общие затраты на разработку программного

3. Парадигмы программирования

Паралелизм. Паралельное и событийноуправляемое программирование

и другие (WiKi Programming paradigms)

4. Императивное программирование

Императивное программирование выигрывает

любой другой методологии в эффективности

реализации. Причина: аппаратная организация

Стоит ли говорить о том, почему императивное

программирование — практически наиболее

Одна из характерных черт императивного

программирования — наличие переменных с

операцией "разрушающего присвоения«

Про наш мир можно сказать, что он локально

Императивное программирование наиболее

пригодно для реализации небольших подзадач, где

очень важна скорость исполнения на современных

компьютерах (+работа с внешними устройствами).

5. Параллелизм

Параллелизм можно мысленно разбить на два

уровня: параллелизм уровня микроопераций и

параллелизм уровня процессов

Микропроцессоры максимально используют в своей

архитектуре возможности параллельного

исполнения отдельных операций

Процессы — это абстракция достаточно высокого

уровня. Они могут работать параллельно, и могут

обмениваться между собой результатами своих

вычислений через "каналы связи«

В системе параллельных процессов каждый

отдельный процесс обрабатывает события. События

могут быть как общими для всей системы, так и

индивидуальными для одного или нескольких

6. Объектно-ориентированное программирование

появилось из недр событийно-управляемого

программирования и затмило его, так как

оказалось значительно более мощным и

универсальным средством программирования

Основные понятия: объект, метод, класс,

метокласс, инкапсуляция, абстракция,

7. Функциональное программирование

Функциональное программирование представляет из

себя одну из альтернатив императивному подходу.

В императивном программировании алгоритмы — это

описания последовательно исполняемых операций.

Здесь существует понятие "текущего шага исполнения"

(то есть, времени), и "текущего состояния", которое

меняется с течением этого времени.

Программы являются выражениями, исполнение

программ заключается в вычислении этих выражений.

Императивное программирование основано на машине

Тьюринга-Поста — абстрактном вычислительном

устройстве, предложенном на заре алгоритмической эры

для описания алгоритмов.

Функциональное программирование основано на более

естественном с математической точки зрения

формализме — лямбда-исчислении Черча.

8. Свойства функционального программирования

1.) Аппликативность: программа есть

выражение, составленное из применения

функций к аргументам.

2.) Настраиваемость: так как не только

программа, но и любой программный объект (в

идеале) является выражением, можно легко

порождать новые программные объекты по

образцу, как значения соответствующих

выражений (применение порождающей

функции к параметрам образца).

9. Функциональное программирование

Функциональное программирование, как и другие

модели "неимперативного" программирования,

обычно применяется для решения задач, которые

трудно сформулировать в терминах

Практически все задачи, связанные с

искусственным интеллектом, попадают в эту

1) задачи распознавания образов,

2) общение с пользователем на естественном языке,

3) реализацию экспертных систем,

4) автоматизированное доказательство теорем,

5) символьные вычисления.

10. Логическое программирование

В функциональном программировании

программы — это выражения, и их исполнение

заключается в вычислении их значения.

В логическом программировании программа

представляет из себя некоторую теорию

(описанную на достаточно ограниченном

языке), и утверждение, которое нужно

В доказательстве этого утверждения и будет

заключаться исполнение программы.

Понятия: факты, акси

*Предлагаемые к заключению договоры или финансовые инструменты являются высокорискованными и могут привести к потере внесенных денежных средств в полном объеме. До совершения сделок следует ознакомиться с рисками, с которыми они связаны.

Ссылка на основную публикацию