Similar presentations:
Парадигмы программирования
1.
Парадигмы программирования(с примерами на языке R)
Общие понятия. Эволюция парадигм.
Современное состояние
Голубничий А.А.
[email protected]
@Golubnichij
2.
Структура модуля• основные понятия;
• различные толкования;
• история становления парадигм программирования;
• рейтинг языков программирования по TIOBE;
• разные подходы к парадигмам программирования;
• языки и парадигмы.
2
3.
Основные понятияПарадигма (от греч. παράδειγμα, «пример, модель, образец») –
совокупность фундаментальных научных установок, представлений и
терминов, принимаемая и разделяемая научным сообществом и
объединяющая большинство его членов. Обеспечивает
преемственность развития науки и научного творчества.
«Под парадигмой я понимаю признанные всеми
научные достижения, которые в течение
определённого времени дают научному
сообществу модель постановки проблем и их
решения»
Томас Сэмюэл Кун, 1962
3
4.
Основные понятияПрограммирование – процесс создания компьютерных программ
Программирование основывается на использовании языков
программирования, на которых записываются исходные тексты
программ.
«Алгоритмы + структуры данных = программы»
Никлаус Вирт, 1975
4
5.
Основные понятияПарадигма программирования – это совокупность идей и понятий,
определяющих стиль написания компьютерных программ. Это
способ концептуализации, определяющий организацию вычислений
и структурирование работы, выполняемой компьютером.
«Если прогресс искусства программирования в
целом требует постоянного изобретения и
усовершенствования парадигм, то
совершенствование искусства отдельного
программиста требует, чтобы он расширял свой
репертуар парадигм»
Роберт В Флойд, 1978
• новая парадигма не отменяет предыдущую;
• парадигмы могут сочетаться.
5
6.
Различные толкования«Слово «парадигма» используется в программировании для
определения семейства обозначений (нотаций), разделяющих общий
способ (методику) реализаций программ».
Диомидис Спинеллис
«Стиль программирования как описания намерений программиста»
Дэниел Бобров
«Модель или подход к решению проблемы»
Брюс Шрайвер
«Подход к решению проблем программирования»
Линда Фридман
«Правила классификации языков программирования в соответствии с
некоторыми условиями, которые могут быть проверены»
Питер Вегнер
6
7.
История становления парадигмпрограммирования
7
8.
Рейтинг языков программирования по TIOBE8
9.
Разные подходы к парадигмампрограммирования
9
10.
Разные подходы кпарадигмам
программирования
10
11.
Языки и парадигмыПроцедурные:
Ada
JavaScript
Bash
Kotlin
BASIC
Lua
C
Pascal
C++
PHP
C#
Python
Fortran
R
Go
Rust
Java
Swift
Функциональные:
C++
C#
Haskell
Java
JavaScript
Kotlin
Lua
PHP
Python
R
Rust
Swift
ООП:
Ada
Kotlin
C++
Lua
C#
PHP
Fortran
Python
Go
R
Java
Rust
JavaScript Swift
11
12.
Языки и парадигмыМультипарадигмальный язык программирования – язык, который
был разработан специально как инструмент мультипарадигмального
программирования, т.е. возможности которого изначально
предполагалось унаследовать от нескольких, чаще всего не
родственных языков.
Ada C C++ C# Erlang Prolog F# Go Java JavaScript Haskell
Императивная
+
+
+
+
–
–
+
+
+
+
+
ООП
+
–
+
+
–
–
+
+/–
+
+
–
Функциональная
–
–
+/–
+/–
+
–
+
+/–
+/–
+/–
+
Обобщенное
+
+
+/–
+
+
+
+
–
+
+
+
Декларативная
–
–
–
+/–
+
+
+
–
–
+/–
+
12