Mi pregunta original era demasiado vaga y fue "cerrada como no constructiva". Como tal, revisaré la pregunta para que atienda las respuestas que ya se han publicado. :-)¿Cómo se compara Moose con el sistema OO de Python?
Estoy interesado en las diferencias entre el framework Moose OO de Perl Moose y el framework OO de Python. Como primer punto de comparación, ¿qué tan fácil es crear una clase simple con un par de atributos y un puñado de métodos?
Ahora, si esta pregunta se vuelve a abrir, también me gustaría saber: ¿Qué tan fácil es refactorizar el código en el futuro si decido hacer un atributo de "solo lectura"? En otras palabras, ¿qué pasos debo tomar para que un atributo deje de ser legible y escribible para que sea de solo lectura? (Lo sé, es malo cambiar una API, pero supongamos que estoy trabajando en algo internamente y me doy cuenta en el medio de mi implementación de que un atributo debería ser de solo lectura.)
Esto es hilarante teniendo en cuenta que Perl tomó gran parte de su sistema de objetos original de Python. Llamar a Python es genial es una visión muy curiosa. – tsee
Este comentario no tiene ningún sentido a la luz de mi última edición. Originalmente, dije que había escuchado que el OO de Python es genial. Lo que quise decir con eso es que "Python proporciona azúcar sintáctico para que crear una clase sea realmente fácil". –
@David Mertens: en cuanto a su edición: cambiar un atributo de lectura/escritura para leer solo es fácil. Por ej. change 'tiene someattr => (is => 'rw');' to 'tiene someattr => (is => 'ro');' Después de este cambio, todos los intentos de escribir en el atributo darán un error de tiempo de ejecución, para p.ej. '$ x-> someattr (" foo ");' (setter) arrojaría un error mientras que '$ x-> someattr' (getter) está bien. – draegtun