Edit: mon langage permet l'héritage multiple, contrairement à Java.
J'ai commencé à concevoir et à développer mon propre langage de programmation à des fins éducatives, récréatives et potentiellement utiles.
Au début, j'ai décidé de le baser sur Java.
Cela impliquait que tout le code serait écrit sous forme de classes, et que le code se compile en classes, qui sont chargées par la machine virtuelle.
Cependant, j'ai exclu des fonctionnalités telles que les interfaces et les classes abstraites, car je n'en ai trouvé aucun besoin. Ils semblaient appliquer un paradigme, et j'aimerais que ma langue ne le fasse pas. Je voulais garder les classes comme unité de compilation, car cela semblait pratique à implémenter, familier, et j'aimais juste l'idée.
Ensuite, j'ai remarqué qu'il me restait essentiellement un système de modules, où les classes pouvaient être utilisées soit comme "espaces de noms", fournissant des constantes et des fonctions à l'aide de la static
directive, soit comme modèles pour les objets qui doivent être instanciés (objectif "réel" des classes dans d'autres langues).
Maintenant, je me demande: quels sont les avantages et les inconvénients d'avoir des classes comme unités de compilation?
De plus, tout commentaire général sur ma conception serait très apprécié. Un article informatif sur ma langue peut être trouvé ici: http://www.yannbane.com/2012/12/kava.html .