Editar: mi idioma permite la herencia múltiple, a diferencia de Java.
Comencé a diseñar y desarrollar mi propio lenguaje de programación para fines educativos, recreativos y potencialmente útiles.
Al principio, decidí basarlo en Java.
Esto implicaba que todo el código se escribiría en forma de clases, y ese código se compila en clases, que son cargadas por la máquina virtual.
Sin embargo, he excluido características como interfaces y clases abstractas, porque no encontré ninguna necesidad de ellas. Parecían estar imponiendo un paradigma, y me gustaría que mi lenguaje no lo hiciera. Sin embargo, quería mantener las clases como la unidad de compilación, porque me pareció conveniente de implementar, familiar y me gustó la idea.
Luego me di cuenta de que básicamente me quedaba con un sistema de módulos, donde las clases podían usarse como "espacios de nombres", proporcionando constantes y funciones usando la directiva static
, o como plantillas para objetos que necesitan ser instanciados ( propósito "real" de las clases en otros idiomas).
Ahora me pregunto: ¿cuáles son las ventajas y las desventajas de tener clases como unidades de compilación?
También, cualquier comentario general sobre mi diseño sería muy apreciado. Puede encontrar una publicación informativa en mi idioma aquí: enlace .