Was Ist Kompliziert
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Von CppIstZuKompliziert

Was ist kompliziert (z. B. an einer Programmiersprache)?

Wenn man dem Fremdwörterbuch folgt, das - relativ kurz angebunden - kompliziert als verwickelt, schwierig definiert, dann könnte man sagen:

Betrachtet man Code in verschiedenen Sprachen, dann beobachtet man, dass eine einzelne Codezeile manchmal mehr, manchmal weniger Aussagen über die Wirkung des Codes zuläßt. Das beeinflusst die Verständlichkeit des Codes und ob er als kompliziert empfunden wird oder nicht.


Ein primitives Beispiel:

a=b(c)

je nach Programmiersprache ist mehr oder weniger klar, was wirklich passiert:


Oder ein anderes Beispiel:

a=b+c


Solche Unterschiede können sehr viel dazu beitragen, ob eine Sprache leichter oder schwerer zu lesen ist. Konventionen können die Situation verbessern (z. B. um in C durch Großschreibung MACROS von Funktionen auseinanderzuhalten), aber nicht völlig reparieren.

Es gibt eine Vielzahl von stilistischen Konventionen, die dem Code-Leser jene zusätzlichen Informationen geben sollen, die er zur eindeutigen Interpretation des Codes benötigt. Oft wird durch die Schreibweise signalisiert, ob es sich um lokale oder globale Variablen handelt. Je weniger Informationen von außerhalb der aktuellen Zeile benötigt werden, bzw. umso näher diese Information liegt (im Block < am Anfang der Funktion < am Anfang des Source < in einem gemeinsamen Header < in einem anderen Modul), umso schneller ist der Code zu verstehen und umso leichter zu warten.

Ein goto z. B. ist nicht deshalb ein Problem, weil abstrakte Regeln der strukturierten Programmierung verletzt werden, sondern weil durch ein "goto x" für den Leser ein Such- und damit ein Lese- und ein Verständnisproblem entsteht. Wenn dem Leser klar signalisiert wird, wohin das goto räumlich und semantisch führt (z. B. "goto exit_function" oder "goto exit_loop"), dann verliert das goto auch das Meiste von seiner negativen Wirkung.


Natürlich ist auch alles einfacher, was wir gewohnt sind. Von links nach rechts zu schreiben oder zu lesen ist für uns einfacher als umgekehrt. Ein Programmiersprache mit der vertrauten, prozeduralen FORTRAN/BASIC/PASCAL/C-Syntax zu lernen ist einfacher als fremdartige Codestrukturen in LISP, FORTH oder SpracheAPL, die das ungeschulte Auge nicht auf Anhieb erfassen kann.


KategorieLesbarkeit
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 30. Januar 2003 22:30 (diff))
Suchbegriff: gesucht wird
im Titel
im Text