Grammatik und Syntax

Syntaxbaum

Mupples bringt Buchauszüge von J. Anton Illik: “Erfolgreich programmieren mit Java – vom Einsteiger zum Könner“, wenn Sie für die HFU-Vorlesung und Übung hilfreich sind. Ziel dabei ist es auch, Ihre konstruktive Kritik in den Kommentaren abzuholen. Gerne können wir in der Vorlesung und Übung auch darüber diskutieren. In diesem Post geht es darum, was Java mit Grammatik und Syntax zu tun hat.

Bei natürlichen Sprachen regelt die Syntax den Satzaufbau, die Satzstruktur. Die Grammatik ist die gesamte systematische Sprachbeschreibung. In diesem Sinne werden diese Begriffe auch im Zusammenhang mit Programmiersprachen verwendet.

Nehme wir zum Beispiel einen Aussagesatz im Deutschen, so ist der übliche Aufbau: Subjekt – Prädikat – Objekt. Vereinfacht ausgedrückt besteht ein Aussagesatz aus einem „Satzgegenstand“, einer „Satzaussage“ und einer „Satzergänzung“, sagt die syntaktische Regel. Vergleichbar damit, wird auch bei Programmiersprachen eine Syntax für den Aufbau eines Programmiersprachsatzes festgelegt.

Nur korrekte Java-Syntax funktioniert

Wenn Menschen miteinander unterhalten, sind diese i.d.R. in der Lage, Sätze auch dann zu verstehen, wenn einer der Sprecher einen nicht ganz korrekten Satzaufbau verwendet. In der Regel funktioniert das, weil der Zuhörer vielleicht in der Lage ist, die Fehlkonstruktion entsprechend umzudeuten. Dazu sind Computer heute nicht in der Lage. Deshalb ist es zwingend notwendig, dass die mit der Programmiersprache aufgebaute Anweisung an den Computer absolut korrekt formuliert ist – heutige Computer sind nicht in der Lage einen falschen Satzaufbau zu verstehen. Vielfach ist das auch nicht gewollt, weil ja schließlich auch die Gefahr der Missinterpretation besteht. Erfahrungsgemäß macht dieser Sachverhalt den Programmier-Novizen die größten Probleme: der kleinste syntaktische Fehler im Satzbau führt sofort zur Ablehnung des fehlerhaften Programmiersprachsatzes.

syntax tree
Der Syntaxbaum für den Ausdruck (3*5 + 4*3)/(11-2)

Auch die modernen Programmiersprachen, zu denen wir auch Java zählen, sind diesbezüglich gnadenlos. Vielleicht ändert sich das einmal – heute bleibt dem Programmierer aber nur der Weg, syntaktisch korrekte Sätze beim Aufbau von Programmen zu verwenden!

Die Syntax von JAVA ist der von C sehr ähnlich, daher kann auf ihr aufgebaut werden, das wird vor allem C- und C++-Programmierer freuen. Es gibt jedoch auch wichtige Unterschiede. Also, Überflieger trotzdem aufpassen!

Neue Überflieger, denen C und C++ nicht vertraut ist, werden aus der Verwandtschaft der Sprachen vordergründig keinen Vorteil ziehen können – bis auf die Tatsache, dass sie später sagen können: „im Grunde kennen wir nun auch die Kern-Syntax der Programmiersprachen C und C++“.

In diesem Abschnitt besprechen wir einige dieser Gemeinsamkeiten und Unterschiede von Java und den C-Sprachen und geben auf diese Weise eine komprimierte Einführung in die Syntax von JAVA. Ausführlichere Erläuterungen zu diesem Punkt betrachten wir später, im Buch-PART II DAS JAVA-LEXIKON.

Programmiersprache erlernen = wie natürliche Sprache erlernen

Eine natürliche Sprache, sagen wir mal Englische Sprache, erlernt man bekannter Weise am besten bei einem Aufenthalt in einem englischsprachigen Land – die Lernenden sind gezwungen, die Sprache anzuwenden! Anders werden sie nicht verstanden.

Wir machen das ähnlich: mit Fallstudien (engl.: case studies), Vorübungen und Übungen werden wir die Sprache Java permanent anwenden, bis am Ende des Semesters der gewünschte Sprachumfang erreicht ist.

Syntax-Fallstudien / CaseStudies

In den Fallstudien bekommen die Lernenden die Java-Syntax und Grammatik erläutert und die Funktionsweisen der Programme vorgeführt. Im Felix sind die CaseStudies ebenfalls zu finden. Sie laden sich die CaseStudies runter auf Ihren Laptop, um damit eigene Experimente machen zu können – sehr praktisch, Sie brauche nicht viel Schreiben und die CaseStudies sind korrekt und von Anfang an übersetzbar und lauffähig.

Vorübungen (Syntax und Grammatik sehen)

Vorübungen sind gewissermaßen Übungen, zu denen Sie die Entwicklung der Lösung auf Youtube mitverfolgen können. Die so “entwickelte” Lösung der Vorübung sollt dann für weitere Experimente, also eigene Erweiterungen und Versuche genutzt werden, damit sich der gewünschte Lerneffekt einstellt.

NeonDie ersten Vorübungen (Vorübung1+2) stehen auf Youtube bereit.

Übungsaufgaben (syntax selbständig anwenden)

Für die Lösung der Übungsaufgabenstellung waren die Vorübungen ganz bewusst sehr nahe an der Übungsaufgaben, damit durch das in der Vorübung Gelernte die Übungsaufgabe effizienter gelöst werden kann. Die offensichtliche Ähnlichkeit von Vorübungs- und Übungsaufgabe ist unverkennbar und die fehlende Lücke ist durch die Übenden zu überbrücken.

Viel Spaß beim Üben und Experimentieren!

 

Benutzer-Avatar

Autor: Prof. Illik Hans

Studium der Wirtschaftsinformatik an der TUM Technischen Universität in München. Berufliche Stationen: Hardwarehersteller in München - Softwarehäuser in München - eigene Firmen in München, Stuttgart und Birmingham/UK- mehrere Bücher zum Programmieren und eCommerce -Lehraufträge an verschiedenen Hochschulen in München, Stuttgart, Frankfurt - Professur an der HFU - Softwareentwickler (Ada/C/C++/C#/PHP/Python/Java) - Berater - Coach - Betriebsystemen (Unix-Portierungen) und Implementierung von eShops (Magento u.a.).

2 Gedanken zu „Grammatik und Syntax“

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.