Essa é uma pergunta mais específica (ou na verdade duas, mas elas estão relacionadas), proveniente dos comentários da morte da tecnologia OOP, em que alguém afirmou que OOP não é o paradigma certo para a programação da GUI.
Lendo os comentários aqui e aqui, ainda tenho a sensação de que há coisas a aprender: quais paradigmas de programação são considerados bons ajustes e por que são melhores que outros (talvez com exemplos para ilustrar?)
Eu removi o exemplo tk do título e da pergunta
Respostas:
Normalmente, não sou proponente do OOP, mas diria que a programação da GUI apresenta algumas das melhores oportunidades para usar os pontos fortes do OOP. A implementação de vários widgets é muito mais fácil usando o polimorfismo e a herança do OOP. A biblioteca GUI do PLT Racket é um bom exemplo.
fonte
Uma GUI típica, feita de widgets e seu layout, é totalmente declarativa. Os widgets em si não interagem entre si; portanto, uma noção de objetos e mensagens é um pouco estranha aqui. As DSLs declarativas hierárquicas são uma espécie de mainstream atualmente, com Tk sendo um dos primeiros exemplos e o WPF como uma abordagem mais moderna para a mesma coisa. A programação reativa funcional é outra abordagem interessante (mas não muito difundida).
Algumas pessoas tendem a ver OOP em qualquer lugar onde uma hierarquia é definida, o que está errado - não existe absolutamente nenhuma conexão entre hierarquias estritas (leitura - tipos de dados algébricos) e a definição de OOP de Kay.
fonte