Programmieren: Wahl der Programmiersprache: Hochsprachen

Aus Wikibooks

Wechseln zu: Navigation, Suche
Bild:Wikibooks buchseite.svg Zurück zu Maschinennahe Sprachen | Bild:Wikibook.svg Hoch zu Inhaltsverzeichnis | Bild:Wikibooks buchseite.svg Vor zu Prozedurale Sprachen



Hochsprachen sind wesentlich stärker an die menschliche Sprache angelehnt als die Maschinensprache und der Assembler. Um einen Text auf der Konsole auszugeben, muss man im Assembler bzw. Maschinencode beispielsweise mindestens eine Systemfunktion aufrufen und dieser den Ort, an dem der Text im Arbeitsspeicher gespeichert ist, übergeben. In einer Hochsprache kann dagegen ein Text fast immer mit einer einfachen Anweisung wie print "Hallo Welt" ausgegeben werden. Der Compiler übersetzt dann den so genannten Quellcode in die Maschinensprache.

Mit Hochsprachen ist es wesentlich einfacher möglich, Programme auf andere Plattformen zu übertragen, sofern auf der Zielplattform ebenfalls ein Compiler der Sprache zu Verfügung steht. Um die Portierbarkeit von Programmen zu fördern, sind viele Sprachen genormt, das heißt, es werden Standards erstellt, nach denen sich möglichst jeder Compilerhersteller richten sollte.

Nicht alle Sprachen bringen einen Compiler mit. Stattdessen werden einige Sprachen lediglich interpretiert. Dabei wird der Quellcode von einem Programm, das als Interpreter bezeichnet wird, ausgeführt.

Andere Sprachen, wie etwa Java oder C#, gehen einen anderen Weg: Sie übersetzen den Quellcode in einen sogenannten Bytecode, der der Maschinensprache ähnlich ist. Um den Bytecode auszuführen, ist eine virtuelle Maschine nötig. Dies ist ein Programm, das den Bytecode interpretiert. Auf allen Plattformen, auf der die virtuelle Maschine verfügbar ist, können die Programme ausgeführt werden.

Was ist eigentlich eine Hochsprache genau? Eine Hochsprache ist eine Sprache mit einem höheren Abstraktionsgrad, oder allgemein verständlich ausgedrückt, eine Programmiersprache in der man mehr mit weniger Text ausdrücken kann. Da dies eine relative Aussage ist, kann man nicht absolut sagen, welche Programmiersprache eine Hochsprache ist und welche nicht. Das kommt auf den Standpunkt an. Ein etwas vorweggenommenes Beispiel: C ist im Verhältnis zu Assembler eine Hochsprache, aber im Vergleich zu Eiffel sicherlich nicht. Mit zunehmenden Abstraktionen in Programmiersprachen - Sprachen entwickeln sich, es werden neue Sprachen erfunden - verschiebt sich auch das allgemeine Verständnis, was noch als Hochsprache angesehen wird. Per Definition bleibt dieser Begriff allerdings relativ. Das ist eine wichtige Erkenntnis, die viele Programmierer erst einsehen, wenn sie bereits ein breites Sprektrum an Sprachen benutzt haben.


Bild:Wikibooks buchseite.svg Zurück zu Maschinennahe Sprachen | Bild:Wikibook.svg Hoch zu Inhaltsverzeichnis | Bild:Wikibooks buchseite.svg Vor zu Prozedurale Sprachen


Persönliche Werkzeuge