06_8338_103_Arten von Programmiersprachen

Werbung
1
In diesem Abschnitt wollen wir uns mit den unterschiedlichen Paradigmen
(Prinzipien) von Programmiersprachen beschäftigen.
2
Diese Abbildung zeigt einen groben Überblick über die wichtigsten
Programmiersprachen.
Die Einteilung in die einzelnen Arten basiert dabei auf der Frage, welches Prinzip
/ Paradigma wurde bei der Definition der Sprache zu Grunde gelegt.
Hierbei unterscheidet man grundsätzlich zwei verschiedene Ansätze,
• Deskriptiv oder auch deklarative Sprachen
• Imperative Sprachen
Wie diese Paradigmen aussehen, sehen wir uns in der nächsten Abbildung
genauer an.
3
Bei den deskriptiven bzw. deklarativen ist SQL die bekannteste Sprache und
kommt bei Verwendung von relationalen Datenbanken zum Einsatz.
Ein besondere Art von deklarativer Programmierung sind die funktionalen
Sprachen. Hier ist die Sprache Erlang zu nennen. Ein weiterer Vertreter dieser
Art ist die Sprache Scala.
Bei den imperativen Sprachen unterscheidet man in
• prozedurale Sprachen und in
• objektorientierte Sprachen.
Was nun genau der Unterschied zwischen funktional, prozedural und objektorientiert ist, schauen wir uns in den nächsten Abbildungen genauer an.
Als Vertreter der prozeduralen Sprachen findet man die bekannten Sprachen wie
• C
• Cobol
4
• Pascal
und noch viele mehr.
Als objektorientierte Sprachen sind zu nennen:
• Java
• C++
• C#
4
Bei den deskriptiven-Sprachen verwendet man nur Sprachelemente, mit denen
man beschreiben kann, wie die Ergebnismenge aussieht.
Bestes Beispiel ist die Programmiersprache SQL, um Anfragen an RelationaleDatenbanken zu stellen.
In der Literatur wird manchmal auch der Begriff „Deklarative Sprachen“
verwendet.
Siehe auch:
• Deklarative Programmierung- https://www.informatikaktuell.de/entwicklung/methoden/deklarative-programmierung-ist-deklarativwirklich-instruktiv.html
5
Funktionale Sprachen sind vollständig auf mathematischen Funktionen
aufgebaut.
Die Programme bestehen ausschließlich aus:
• Funktionsdefinition
• Funktionsaufrufen
• Anwenden von Ergebnissen auf Funktionen
In der Abbildung ist ein Beispiel der Programmiersprache Erlang dargestellt.
Wie man sehen kann, sind dort zwei Funktionen zu sehen.
Die erste Funktion hat als Parameter den Wert 0 .
Die zweite Funktion hat den gleichen Namen und hat als Parameter den Wert N
Je nach dem , mit welchem Wert die Funktion fac() aufgerufen wird, wird
entweder fac(0) aufgerufen – wenn der Wert 0 ist-. Oder die zweite Funktion
fac(N).
6
Quelle:
* http://www.erlang.org/docs
6
Bei den imperativen Programmiersprachen gibt es Sprachelemente, die es
erlauben, den Ablauf eines Programmes genau zu definieren. Man beschreibt
also genau WIE etwas getan werden soll.
Programmiersprachen wie C. COBOL etc. sind daher imperative Sprachen.
Bei den imperativen Sprachen gibt es Elemente zur Definition von:
• Variablen
• Datentypen
• Verzweigungen
• Wiederholungen ( Schleifen)
Dies gilt auch für Java, C++ und C#. Da diese jedoch auch das Paradigma der
Objektorientierung umsetzen, werden diese auch als objektorientierte Sprachen
bezeichnet.
Objektorientierte Sprachen werden wir uns später noch genauer ansehen.
7
Prozedurale Sprachen basieren auf dem gleichen Paradigma wie alle imperativen
Sprachen und bieten die Elemente
• Variablen
• Datentypen
• Verzweigungen (IF, Switch)
• Wiederholungen (Schleifen)
Zusätzlich gib es auch die Möglichkeit Funktionen und Prozeduren zu erstellen.
Die Bedeutung der Elemente schauen wie uns genauer an, wenn wir uns näher
mit der Programmiersprache C beschäftigen.
8
In der Abbildung sehen Sie den Aufbau eines C-Programmes.
9
Objektorientierte Sprachen erweitern das Prinzip der imperativen Sprache um das
Paradigma der Objektorientiertheit.
In der Abbildung ist auf der linken Seite ein Beispiel eines prozeduralen
Programmes zu sehen. Dort gibt es nur die bereits genannten Elemente.
Bei dem objektorientieren Paradigma gibt es die Möglichkeit einzelne
Methoden zusammenzufassen bzw. zu kapseln. Bei der Kapselung spricht man
von Klassen bzw. von Objekten.
Wie auf der rechten Seite der Abbildung zu sehen ist, besteht ein
objektorientiertes Programm aus einer Menge von Objekten, die miteinander
kommunizieren. Man sagt auch: Die Objekte können Nachrichten austauschen.
Der Nachrichtenaustausch ist dabei nicht anderes als das Aufrufen von
Methoden.
Welche zusätzlichen Konzepte bei objektorientierten Sprachen zum Einsatz
kommen, sehen wir uns näher an, wenn wir uns mit der Sprache Java
beschäftigen.
10
Hier sehen Sie den Aufbau eines Java Programms.
11
12
13
Herunterladen