Benutzer:Srittau/Baustelle/Programmiersprache

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

FIXME

  • FIXME: Einführung des Begriffs Maschinensprache
  • FIXME: Zeitliche Abfolge
  • FIXME: Vererbungstafel der Programmiersprachen
  • FIXME: Einführung des Begriffs Hochsprache
sub    %eax,%edx
mov    %edx,%eax
and    $0x000000ff,%eax
jmp    0xb7c9a4fa

Ausschnitt aus einem typischen Assemblerprogramm für Prozessoren der IA-32-Architektur

Eine Assemblersprache ist streng genommen keine Programmiersprache, sondern eine für Menschen besser verständliche Darstellungsweise der internen Maschinensprache. Dabei werden die Befehle der Maschinensprache statt durch Zahlenfolgen durch symbolische Zeichen repräsentiert. So bedeutet die hexadezimale Zahlenfolge 1045 für einen PDP-11-Prozessor, dass der Inhalt des Registers 1 in den Register 5 kopiert werden soll, in Assemblerschreibweise: MOV R1,R5.

Für jede Prozessorarchitektur gibt es eine eigene Assemblersprache, auch wenn diese untereinander gewisse Ähnlichkeiten aufweisen. Assemblersprachen ist zu eigen, dass sie nur sehr fundamentale Operationen kennen, die im Befehlssatz des Hauptprozessors enthalten sind. Diese operieren in der Regel direkt auf den Registern des Prozessors oder dem Speicher; symbolische Variablen, wie sie in Hochsprachen zum Grundreportoire gehören, sind unbekannt. Dadurch ist das Programmieren in Assembler gegenüber Hochsprachen sehr viel umständlicher, da auch grundlegende Funktionalität oft per Hand nachgebildet werden muss.

Eine weitere Einschränkung ist, dass Assemblerprogramme nicht portabel sind, das heißt, nicht ohne grundlegende manuelle Anpassung auf eine andere Prozessorarchitektur übertragen werden können. Auf der anderen Seite ist es mit Assembler möglich, dank der Maschinennähe sehr performante Programme zu schreiben, die ohne den Overhead, den abstraktere Sprachen in der Regel mit sich bringen, auskommen.

Ein Assembler übersetzt schließlich den menschenlesbaren Programmtext in Maschinensprache. FIXME: Makroassembler

Prozedurale Sprachen

[Bearbeiten | Quelltext bearbeiten]

FIXME

Objektorientierte Sprachen

[Bearbeiten | Quelltext bearbeiten]

FIXME

Funktionale Sprachen

[Bearbeiten | Quelltext bearbeiten]

FIXME

Logische Sprachen

[Bearbeiten | Quelltext bearbeiten]

FIXME