next up previous contents index
Next: 2.2 Definition von Programmiersprachen Up: 2. Programmiersprachen Previous: 2. Programmiersprachen

2.1 Klassifikation von Programmiersprachen

Vielleicht fragen Sie sich jetzt: Wieso gibt es eigentlich nicht nur eine einzige Programmiersprache, mit der alle Programmierer arbeiten? Da Programmiersprachen anders als natürliche Sprachen, die sich über Jahrhunderte hinweg entwickelt haben, ja künstlich definiert werden müssen, hätte man sich doch von Anfang an auf eine einheitliche Programmiersprache festlegen können.

Zunächst kann man feststellen, daß es bestimmte Programmiersprachen gibt, die primär für Programmieranfänger definiert worden sind. Sie sind meistens sehr einfach gehalten, d.h. der Sprachumfang ist relativ gering. Sie sind leicht zu erlernen, eignen sich aber nicht besonders zum Lösen sehr komplexer Probleme. Hierfür werden sehr viel mächtigere Programmiersprachen benötigt.

Eine andere Klassifizierung unterscheidet sogenannte niedere Maschinensprachen  (maschinennahe Programmiersprachen ) und höhere problemorientierte Programmiersprachen . Maschinensprachen ermöglichen die Erstellung sehr effizienter Programme. Sie sind jedoch abhängig vom speziellen Computertyp. Dahingegen orientieren sich die höheren Programmiersprachen nicht so sehr an den von den Computern direkt ausführbaren Befehlen, sondern eher an den zu lösenden Problemen. Sie sind für Menschen verständlicher und einfacher zu handhaben.

Ein weiterer Grund für die Existenz der vielen verschiedenen Programmiersprachen liegt in der Tatsache, daß die zu lösenden Probleme nicht alle gleichartig sind. So werden häufig neue Programmiersprachen definiert, die speziell für bestimmte Klassen von Problemen geeignet sind.

Den höheren Programmiersprachen liegen bestimmte Konzepte zugrunde, mit denen die Lösung von Problemen formuliert wird. Im wesentlichen lassen sich hier fünf Kategorien - auch Programmierparadigmen  genannt - unterscheiden:

Nicht alle Programmiersprachen können eindeutig einer dieser Klassen zugeordnet werden. So ist bspw. LOGO  eine funktionale Programmiersprache, die aber auch imperative Sprachkonzepte besitzt. Java  und C++  können als imperative objektorientierte Programmiersprachen klassifiziert werden, denn Java- und C++-Programme bestehen aus kommunizierenden Objekten, die intern mittels imperativer Sprachkonzepte realisiert werden.

Programmiersprachen einer Kategorie unterscheiden sich häufig nur in syntaktischen Feinheiten. Die grundlegenden Konzepte sind ähnlich. Von daher ist es im allgemeinen nicht besonders schwierig, eine weitere Programmiersprache zu erlernen, wenn man bereits eine Programmiersprache derselben Kategorie beherrscht. Anders verhält es sich jedoch beim Erlernen von Programmiersprachen anderer Kategorien, weil hier die zugrunde liegenden Konzepte stark voneinander abweichen.


next up previous contents index
Next: 2.2 Definition von Programmiersprachen Up: 2. Programmiersprachen Previous: 2. Programmiersprachen
Dietrich Boles
1999-05-31