Bearbeiten: Meine Sprache erlaubt im Gegensatz zu Java Mehrfachvererbung.
Ich habe begonnen, meine eigene Programmiersprache für Bildungs-, Freizeit- und potenziell nützliche Zwecke zu entwerfen und zu entwickeln.
Zuerst habe ich mich entschlossen, es auf Java aufzubauen.
Dies implizierte, dass der gesamte Code in Form von Klassen geschrieben und dieser Code in Klassen kompiliert wird, die von der VM geladen werden.
Ich habe jedoch Features wie Interfaces und abstrakte Klassen ausgeschlossen, da ich keine Notwendigkeit dafür gefunden habe. Sie schienen ein Paradigma durchzusetzen, und ich möchte, dass meine Sprache das nicht tut. Ich wollte die Klassen jedoch als Kompilierungseinheit behalten, da es praktisch erschien, sie zu implementieren, und mir gefiel die Idee einfach.
Dann bemerkte ich, dass ich im Grunde genommen ein Modulsystem habe, in dem Klassen entweder als "Namespaces" verwendet werden können, die Konstanten und Funktionen mithilfe der static
Direktive bereitstellen , oder als Vorlagen für Objekte, die instanziiert werden müssen ("tatsächlicher" Zweck von Klassen) in anderen Sprachen).
Jetzt frage ich mich: Was sind die Vor- und Nachteile von Klassen als Kompilierungseinheiten?
Außerdem wäre jeder allgemeine Kommentar zu meinem Design sehr dankbar. Ein informativer Beitrag zu meiner Sprache ist hier zu finden: http://www.yannbane.com/2012/12/kava.html .