Die Struktur der Programmiersprachen: So funktionieren C, Java oder Python

Nicolas Dittberner
Jun 9, 2017

Jeden Tag nutzen wir computergesteuerte Technologien. Dabei vergessen wir manchmal, dass all diese Programme – egal ob Smartphone-App oder Ampelschaltung – von Menschen geschrieben werden. Die Struktur der Programmiersprachen ist oft relativ einfach und lässt sich in verschiedene Programmierparadigmen einteilen. Hier sind die wichtigsten Modelle und ihre Anwendungsgebiete.

Die Struktur der Programmiersprachen: So funktionieren C, Java oder Python

Imperative und deklarative Programmiersprachen

Ganz grundlegend unterscheidet man zwischen imperativen und deklarativen Programmiersprachen. Die imperativen Sprachen basieren auf einer zeitlichen Abfolge von Befehlen, die zur gewünschten Lösung führen. Dem Programm wird also vorgegeben, wie es zu einem bestimmten Ergebnis kommen soll. Dem gegenüber fragt eine deklarative Programmierung nur danach, was das Ergebnis sein soll – und überlässt den Lösungsweg unabhängigen mathematischen Theorien. Statt dem „Wie“ steht hier das „Was“ im Fokus.

Imperative Programmiersprachen sind weiter verbreitet als deklarative. Sie gelten als intuitiver: Der Code läuft nach einer vorher festgelegten Abfolge ab und kann leicht eingesehen werden, allerdings ist er relativ lang. Die deutlich jüngeren, deklarativen Sprachen sind kürzer und durch ihre mathematische Basis unabhängig von Rechnerarchitekturen. Der Code ist dadurch allerdings auch schwerer zu verstehen, da er, anders als bei imperativen Programmen, nicht linear lesbar ist.

Unterschiedliche Programmierparadigmen

Innerhalb dieser beiden Grundrichtungen wird zwischen verschiedenen Programmierparadigmen unterschieden. Die einzelnen Sprachen zeichnen sich durch bestimmte Strukturen oder Regelsysteme aus. Eine modulare Programmiersprache fasst beispielsweise Teile des Codes in funktionale Module zusammen, um diese unabhängig voneinander entwickeln und testen zu können. Strukturierte, prozedurale, logische oder objektorientierte Programmiersprachen funktionieren nach einem jeweils eigenen Regelsystem mit individuellen Vor- und Nachteilen.

Die Vorteile von objektorientierten Programmiersprachen

Viele der bekanntesten Sprachen basieren auf objektorientierten Strukturen. Dazu gehören unter anderem C++, Java oder Python. Die Idee dahinter ist, Daten und Funktionen in Objekten zu kapseln und so ein höheres Abstraktionslevel zu erreichen. Statt redundanter Codezeilen gibt es nur noch einzelne Objekte, die nach einmaliger Definition beliebig oft wiederverwendet werden können und die dank Schnittstellen miteinander interagieren. Die interne Struktur wird dabei bewusst verborgen, um unnötige Zugriffe zu vermeiden. So können Objekte besser gewartet und getestet werden, der Code wird übersichtlicher und der Programmieraufwand für andere Projekte sinkt.

Die richtige Sprache gibt es nicht

Jede Sprache hat eigene Vor- und Nachteile. Die jeweils grundlegende Struktur ist jedoch oft ähnlich – besonders bei imperativen Programmiersprachen. Wer die Grundzüge von C beherrscht, wird sich in Python oder Java schnell zurechtfinden. Das sind auch die Sprachen, die sich für einen Einstieg ins Coden besonders gut eignen. C ist dabei für Linux-Administratoren die tägliche Arbeitssprache, Python gilt an vielen Universitäten heute als universelle Einstiegssprache und Java bildet die Grundlage vieler moderner Web-Anwendungen sowie von Googles mobiler Android-Plattform.

Eine richtige oder beste Sprache existiert nicht. Die Vielzahl an neuen Programmiersprachen auf dem Markt zeigt das. Immerhin geben Rankings wie der TIOBE-Index einen guten Überblick über die Beliebtheit: trotz einiger Einbußen gehören Java und C noch immer zu den verbreitetsten Programmiersprachen überhaupt.

Wer unsere technologische Welt besser verstehen und sich für den Arbeitsmarkt der Zukunft wappnen möchte, sollte die Grundlagen der Programmiersprachen kennen. Denn hinter jedem guten Programm stecken Menschen, die den entscheidenden Code geschrieben haben. Unsere kostenlose Einführung in die Informatik oder das Nanodegree-Programm „Programmieren für Anfänger“ sind dafür der ideale Ausgangspunkt.