Últimamente he estado pensando mucho sobre alternativas al enfoque basado en clases para la orientación a objetos. Una cosa que me molesta en los idiomas de hoy es que a menudo usamos static classes/singletons to design single (global) objects porque no hay otra manera de hacerlo, por lo que en mi opinión es más un truco que una característica. Otra cosa es que Java, por ejemplo, permite que el programador sea have enums with additional data (global state) and functionality, lo que también los convierte en un tipo de objeto.¿Podrías imaginar alguna otra forma de implementar OO que el enfoque clásico basado en clases?
De todos modos, lo que me gustaría saber es si tiene alguna idea para un enfoque diferente de la orientación a objetos en un lenguaje compilado y eficiente (por lo tanto, crear objetos mediante prototipos probablemente no sea una buena idea) o, si usted no tiene ninguno, si hay cosas en el enfoque OO clásico que también le molestan mucho.
[EDITAR]: Solo para aclarar las cosas. Como se indicó anteriormente, ya conozco la programación basada en prototipos.
Solo por curiosidad, ¿para qué es esto? ¿Estás diseñando un idioma? –
Sí, lo era. Scanner + Parser ya estaban terminados, pero cuando estaba en la mitad de la implementación del análisis semántico, comencé a preguntarme sobre las preguntas anteriores. Actualmente, el proyecto está en el hielo ya que no he encontrado una buena solución para eso (desafortunadamente, soy perfeccionista). Sin embargo, eso no significa que no siga pensando en eso. ;) – balu
Debería ser una wiki de la comunidad. –