Wie unterscheiden sich Programmiersprachen? – Paradigma

Paradigma

Paradigmen beschreiben die verschiedenen Grundmuster, auf welchen Programmiersprachen aufgebaut sind. Das Wort Paradigma entstammt dem griechischen παράδειγμα parádeigma (bestehend aus παρὰ parà ‚neben‘ sowie δεíκνυμι deiknymi ‚zeigen‘) und bedeutet „Beispiel“, „Vorbild“ oder „Muster“.

Imperativ

Imperative Programmierung (latein imperare befehlen, anordnen) ist die am längsten bekannte Programmierparadigma.

  • die Reihenfolge der Ausführung von Anweisungen ist vorgegeben
  • erlaubt Nebeneffekte

Beispiele: C, C++, Java, PHP, Python, Ruby

Strukturiert

Ein Stil der imperativen Programmierung, der allerdings ein Programm in mehrere Teilprogramme zerlegt. Durch diese Teilprogrammen und Prozeduren vermeiden strukturierte Programme Wiederholungen von Code, was die Programme übersichtlicher macht.

Verwandt mit: Imperativ

Beispiele: C, C++, Java, Python, Fortran, Visual Basic

Prozedural

Basierend auf der Konzept der Prozeduren der strukturierten Programmierung, die Prozedur (auch Routine oder Funktion genannt) der prozeduralen Programmierung enthalten eine Reihe von Rechenschritten. Jede Prozedur kann zu jedem beliebigen Punkt während der Ausführung eines Programms aufgerufen werden.

Verwandt mit: Strukturiert, Imperativ

Beispiele: C, C++, Lisp, PHP, Python, COBOL, Go

Functional

Behandelt die Berechnungen als die Auswertung von mathematischen Funktionen, die veränderbare Daten vermeiden. In funktionellem Code, die Ausgabe (Rückgabewert) einer Funktion ist ausschliesslich von den gegebenen Parametern abhängig. Eine Funktion f(x) wird für x immer dieselbe Ausgabe liefern. Zum Vergleich, eine prozedurale Programmierung, die sowohl lokale wie auch globale Variablen hat, kann mit den selben Parametern unterschiedliche Resultate ausgeben (sogenannte Nebeneffekte).

Verwandt mit: Deklarativ

Beispiele: Swift, C++, Clojure, Coffeescript, Elixir, Erlang, F#, Haskell, Lisp, Python, Ruby, Scala, JavaScript

Event-Driven

Der Control-flow wird hauptsächlich durch Events bestimmt.

  • User Actions (Mausklick, Tastatur-Eingabe)
  • Sensoren
  • Nachrichten von anderen Programmen

Evend-Basierende Programmierung ist die dominierende Methode für GUI (Graphical User Interface) oder Anwendungen (Web App, Games), die hauptsächlich Aktionen aufgrund von User Input auslösen. In Event-basierenden Programmen gibt es normalerweise einen Main Loop, der diese Events abhört.

Verwandt mit: Prozedural

Beispiele: JavaScript, ActionScript, Visual Basic, Elm

Object Oriented

Die Objektorientierte Programmierung basiert auf dem Konzept von Objekten.

Verwandt mit: Prozedural

Beispiele: C++, C#, Eiffel, Java, PHP, Python, Ruby, Scala, JavaScript

Deklarativ

Im Gegensatz zum Wie der imperativen Programmierung, beschäftigt sich die deklarative Programmierung mit dem Was, das berechnet werden soll.

Beispiele: SQL, regular expressions, CSS, Prolog, Haskell

Multi-Paradigm

Die meisten Programmiersprachen unterstützen mehr als eine Paradigm. Dies erlaubt es Programmierern, den am besten geeigneten Programmierstil und die zugehörigen Sprachkonstrukte für einen bestimmten Job zu verwenden.

This site uses Akismet to reduce spam. Learn how your comment data is processed.