Это более конкретный вопрос (или на самом деле два, но они связаны) из комментариев о смерти технологии ООП, где кто-то заявил, что ООП не является подходящей парадигмой для программирования GUI.
Читая комментарии там и здесь, я все еще чувствую, что есть чему поучиться: какие парадигмы программирования считаются подходящими и почему они лучше других (возможно, с примерами для иллюстрации?)
Я удалил tk-пример из заголовка и вопроса
Ответы:
Обычно я не сторонник ООП, но я бы сказал, что программирование с использованием графического интерфейса предоставляет одни из лучших возможностей использовать сильные стороны ООП. Реализация различных виджетов значительно упрощается благодаря использованию полиморфизма ООП и наследования. Библиотека графического интерфейса PLT Racket является хорошим примером.
источник
Типичный графический интерфейс, созданный из виджетов и их макета, полностью декларативен. Виджеты сами по себе не будут взаимодействовать друг с другом, поэтому понятие объектов и сообщений здесь несколько чуждо. Иерархические декларативные DSL в настоящее время являются своего рода мейнстримом, один из ранних примеров - Tk, а WPF - более современный подход к тому же. Функциональное реактивное программирование - еще один интересный (но не очень распространенный) подход.
Некоторые люди склонны видеть ООП везде, где определена иерархия, что неверно - нет абсолютно никакой связи между строгими иерархиями (чтение - алгебраические типы данных) и определением Кей ООП.
источник