Esta es una pregunta más específica (o en realidad dos, pero están relacionadas) proveniente de los comentarios de la muerte de la tecnología OOP donde alguien declaró que OOP no es el paradigma correcto para la programación GUI.
Al leer los comentarios allí y aquí todavía tengo la sensación de que hay cosas que aprender: qué paradigmas de programación se consideran adecuados y por qué son mejores que otros (¿quizás con ejemplos para ilustrar?)
Eliminé el ejemplo tk del título y la pregunta
Respuestas:
Normalmente no soy un defensor de OOP, pero diría que la programación GUI presenta algunas de las mejores oportunidades para utilizar los puntos fuertes de OOP. La implementación de varios widgets se hace mucho más fácil al usar el polimorfismo y la herencia de OOP. La biblioteca GUI de PLT Racket es un buen ejemplo.
fuente
Una GUI típica, hecha de widgets y su diseño, es completamente declarativa. Los widgets per se no interactuarían entre sí, por lo que una noción de objetos y mensajes es algo extraña aquí. Las DSL declarativas jerárquicas son una especie de corriente principal actualmente, con Tk como uno de los primeros ejemplos, y WPF como un enfoque más moderno de lo mismo. La programación reactiva funcional es otro enfoque interesante (pero no muy extendido).
Algunas personas tienden a ver OOP en cualquier lugar donde se define una jerarquía, lo cual está mal: no hay absolutamente ninguna conexión entre las jerarquías estrictas (lectura - tipos de datos algebraicos) y la definición de Kay de OOP.
fuente