Ich glaube nicht, dass Sie programmieren können, ohne eine neue Sprache zu erstellen. Es ist also gut zu erkennen, dass Sie genau das tun und die Probleme verstehen.
- Was ist eine Sprache?
Wortschatz, Syntax und Semantik.
Eine Standardsprache wie VB, Java, C # usw. ist nur eine Basissprache . Sobald Sie Klassen, Methoden usw. hinzufügen, haben Sie Vokabeln und Semantiken hinzugefügt. Es gibt viele Möglichkeiten, Sprachen zu implementieren - Parsen und Übersetzen, Parsen und Interpretieren, Makros auf einer vorhandenen Sprache, Hinzufügen von Klassen und Methoden zu einer vorhandenen Sprache.
- Was soll eine Sprache tun?
Seien Sie gut darin, Probleme kurz auszudrücken.
Woher weißt du, ob du das getan hast? Das Maß, das ich benutze, ist die Anzahl der Bearbeitungen . Wenn eine Ein-Satz-Anforderung A eintritt, setze ich die Anforderung in Code um. Wenn ich fertig bin und alle Fehler beseitigt habe, überprüfe ich den Code und das Code-Repository gibt mir eine Liste der Änderungen, die ich vorgenommen habe, B. Je kleiner B ist, desto besser ist die Sprache. Gemittelt über den Bereich realer und möglicher Anforderungen sagt mir dieses Maß, wie "domänenspezifisch" die Sprache ist.
- Warum ist Prägnanz gut?
Weil es Fehler minimiert.
Wenn N Codeänderungen erforderlich sind, um 1 Anforderung zu implementieren, und Sie manchmal Fehler machen, ist die Anzahl der von Ihnen eingeführten Fehler ungefähr proportional zu N. In dem Grenzwert, in dem N = 1 ist, ist es fast unmöglich, einen Fehler einzuführen, ohne es zu versuchen.
Beachten Sie, dass dies eine direkte Herausforderung für den "Code Bloat" ist, den wir heutzutage sehen.
HINZUGEFÜGT: Als Antwort auf Ihre Anfrage nach einem Beispiel siehe differenzielle Ausführung . Ich werde nicht sagen, dass es schnell verstanden werden kann, aber es reduziert den UI-Code erheblich.