Der elegante Kampf: Entwurf von öffentlichen/privaten Membern in einer Skriptsprache

2025-05-26

Ein Entwickler, der an einem Fantasy-Konsolenprojekt arbeitet, kämpft mit dem Hinzufügen eines Modulsystems zu seiner Skriptsprache. Er untersucht verschiedene Ansätze, um öffentliche und private Deklarationen zu unterscheiden: Modifizierer-Schlüsselwörter (wie `public` und `private` in Java), Modifizierer-Abschnitte (wie in C++), Symbole in Bezeichnern (wie der Unterstrich in Python), Export-Manifeste (wie in Scheme) und Symbole in Deklarationen (wie `*` in Oberon). Er tendiert schließlich zu einer neuartigen Lösung: das Präfixieren von Deklarations-Schlüsselwörtern mit einem Unterstrich (z. B. `rec_` für private Datensätze, `def_` für private Funktionen). Obwohl unkonventionell, bietet dieser Ansatz Kürze und vermeidet die Wiederholung von Symbolen an jeder Verwendungsstelle.

Entwicklung Modulsystem