Sto progettando un semplice linguaggio di programmazione OO.
È tipizzato staticamente, compilato ed eseguito da una VM, simile a Java.
La differenza è che non voglio avere un'enfasi così strong su OOP. Il codice stesso somiglierà per lo più al C ++ (classi, funzioni e variabili permesse nello scope del file).
Una delle cose che devo avere è un sistema modulare. Ho capito quanto segue:
- Ogni file è un modulo (una volta compilato) - come Python
- I programmatori devono importare un modulo con la parola chiave
import
, che fa in modo che il compilatore cerchi i moduli nelle directory standard e nella directory dei file (anche la VM deve farlo in fase di runtime)
E ora non ho idea di come dovrei introdurre il concetto di sottomoduli e gerarchia dei moduli.
Un'opzione, ad esempio, è dipendere dalla gerarchia della directory, in modo che import engine.graphics.renderer
si aspetti di trovare una directory chiamata "engine" nella directory di lavoro e all'interno di una directory chiamata "graphics", con un modulo chiamato "renderer".
Quali sono gli svantaggi di un tale progetto? Mi sto perdendo qualcosa?