• burger-icon

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

    Баллов за прохождение: 1

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

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

    Давайте рассмотрим их подробнее:

    Процедурное программирование

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

    Например, вы собираете мебель по инструкции. Каждый шаг инструкции(соединить две доски, прикрутить ручку к шкафу, ножки к дивану) здесь является отдельной процедурой, таким образом вместо того чтобы описывать весь процесс сборки одним текстом, мы следуем маленьким, понятным шагам.

    Преимуществами процедурной парадигмы является:

    1. Более простая проверка кода, так как отдельные его части проверять проще, чем большой объем.
    2. Так как программа разделяется "на части" благодаря функциям, мы можем использовать их повторно без дублирования кода
    3. Улучшенная читабельность кода

    Пример процедурных языков: C, Pascal, Basic, Fortran


    Объектно-ориентированное программирование(ООП)

    ООП - Парадигма, в которой код представлен в виде классов и объектов. Классы зачастую используются для моделирования реальных объектов, например, у собаки есть порода, 4 лапы и хвост, она может сидеть, лежать, бегать и тд. На основе классов создаются объекты, или экземпляры класса.

    ООП поддерживает 3 принципа: Наследование, Полиморфизм и Инкапсуляция

    Пример языков: Python, Java, C++.

    Данная парадигма является самой актуальной на сегодняшний день. Большинство программ на Python пишутся используя именно эту парадигму. Настоятельно рекомендуем Вам ознакомиться с курсом Простой ООП для того, чтобы полностью понять её концепцию и повысить свой уровень знаний на порядок выше и смело называть себя программистом, ведь без знания ни одной концепции не получится написать большую и функциональную программу.

    Видео-объяснение

    Смотреть на YouTube

     


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

    Функциональное программирование - стиль программирования, при котором главными "строительными блоками" в нем являются математические функции.

    Плюсами этого подхода являются:

    1. Упрощение разработки
    2. Повышение надежности
    3. Легкость тестирования
    4. Высокая скорость работы

    Пример языков: Haskell, F#, OCalm


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

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

    Логическое программирование можно примерно представить как обучение ребенка, вы заведомо указываете объекты которые "недоступны", а остальные изначально помечаются как доступные

    Преимущества логического программирования:

    1. Операции, совершаемые в логическом программировании всегда понятны

    2. Результат не зависит от выбранного пути реализации

    Пример языка: Prolog


    Декларативное программирование

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

    Это обобщенный термин, к его подвидам так же часто относят функциональное и логическое программирование.

    Примеры языков: SQL, Haskell


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

    Императивное программирование является противоположностью декларативного программирования и делает акцент на способе достижения результата, а не на самом результате, т.е. описывает пошаговые инструкции выполнения программы

    Процедурное программирование является подвидом императивного программирования.

    Примеры языков: Java, Python, JavaScript


    Событийно-ориентированное программирование

    Событийно-ориентированное программирование - парадигма программирования, выполнение программы в которой является результатом действия пользователя(например нажатие кнопкой мыши, сенсор, скролл страницы).

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

    Пример языка: JavaScript


    Конкурентное программирование

    Конкурентное программирование - парадигма, при которой происходит несколько вычислений одновременно, которые могут взаимодействовать друг с другом, благодаря управлению потоками обеспечивается эффективность выполнения программы.

    Вычисления запускаются, проходят и завершаются в пересекающихся промежутках времениБ они также могут происходить абсолютно одновременно, но это не обязательно. 

    Для решения задачи, Зарегистрируйтесь или Войдите на сайт.