Einzug sagt Ihnen, wo Sie sich befinden, in beiden Syntaxstilen. Wenn Sie entweder ein VB-Programm oder ein C # -Programm in eine einzelne Zeile schreiben, können Sie in der verschachtelten Syntax bald nicht mehr erkennen, wo Sie sich befinden. Die Maschine analysiert die Blockendphrasen oder geschweiften Klammern, aber Menschen brauchen Einrückungen.
Blockendphrasen stammen aus einer Ära von Lochkarten und Papierbändern, als die Programmierung viel weniger interaktiv und visuell war. Oder wirklich überhaupt nicht interaktiv. Es war schwierig, Programme einzugeben, und deshalb brauchten Programmierer Compiler, die sich mit Syntaxanalyse und Fehlerbehebung auskennen.
In dieser vergangenen Ära bestand der Zyklus zum Bearbeiten, Kompilieren und Ausführen möglicherweise darin, Lochkarten mit einem Kartenstempel vorzubereiten und sich dann an ein Fenster für die Auftragsübermittlung zu stellen, in dem ein Angestellter die Lochkarten nahm und sie an die Maschine übermittelte. Später sammelte der Programmierer die Ausgabe (auf Papier gedruckt) in einem anderen Fenster. Wenn das Programm Fehler hätte, würde die Ausgabe nur aus der Compiler-Diagnose bestehen. Wenn die Bearbeitungszeiten lang sind, sind die zusätzlichen Kosten für die Eingabe end if
anstelle von nur )
gerechtfertigt, wenn dies zur Verbesserung der Diagnosequalität beiträgt, da der Programmierer so viele Fehler wie möglich in einer einzigen Iteration korrigieren muss, um die Anzahl der Zeitverschwendung zu verringern Iterationen durch das Jobübermittlungsfenster.
Wenn eine schließende geschweifte Klammer fehlt, ist es schwer zu sagen, welche offene Klammer die nicht geschlossene ist. (Der Compiler muss möglicherweise Einrückungen analysieren, um eine fundierte Vermutung anzustellen.) Wenn Sie eine schließende Klammer innerhalb einer Funktion löschen, sieht es so aus, als ob der gesamte Rest der Datei Teil dieser Funktion ist, was zu einer Reihe nicht hilfreicher Fehlermeldungen führt. Wenn Sie hingegen über eine end function
Syntax verfügen , kann der Compiler ableiten, wo die fehlerhafte Funktion endet, die nachfolgenden Funktionen ordnungsgemäß wiederherstellen und analysieren, sodass Sie gegebenenfalls zusätzliche Diagnosen erhalten, die von Bedeutung sind.
Wenn Sie in einem Code-fähigen Texteditor arbeiten, der Ihren Code automatisch einrückt und einfärbt, gelten auf einem hochauflösenden Bildschirm, auf dem Sie 60 oder mehr Zeilen sehen, die Argumente für diese Art von ungeschickten Sprachen nicht mehr. Sie können Programme schrittweise so schnell bearbeiten und neu erstellen, dass Sie jeweils nur einen Fehler behandeln können. Darüber hinaus können Sie das Auftreten solcher Verschachtelungsfehler reduzieren, indem Sie große Teile des Programms gleichzeitig auf dem Bildschirm anzeigen und die richtige Einrückung beibehalten. Und ein guter Programmier-Texteditor kennzeichnet während der Eingabe sogar einige Arten von Syntaxfehlern. Darüber hinaus gibt es faltbare Editoren, die die Blöcke eines Programms basierend auf seiner Syntax reduzieren und so eine "umrissartige" Ansicht seiner Struktur geben.
Lisp verwendete von Anfang an Klammern, und vielleicht, nicht zufällig, leisteten Lisp-Hacker Pionierarbeit beim Programmieren als interaktives Erlebnis, indem sie Systeme erstellten, die Programme in kleinen Blöcken (Ausdrücken) akzeptierten.
Tatsächlich benötigen Sie überhaupt keine Endsymbole, wie die Python-Sprache zeigt. Die identation kann nur sein , die Struktur. Menschen verwenden bereits Einrückungen, um die Struktur des Codes selbst in Sprachen zu erfassen, in denen die Maschine auf Endsymbole oder -phrasen angewiesen ist.