Benutzer:Srittau/Baustelle/Programmiersprache
FIXME
- FIXME: Einführung des Begriffs Maschinensprache
Geschichte
[Bearbeiten | Quelltext bearbeiten]- FIXME: Zeitliche Abfolge
- FIXME: Vererbungstafel der Programmiersprachen
Arten
[Bearbeiten | Quelltext bearbeiten]- FIXME: Einführung des Begriffs Hochsprache
Assembler
[Bearbeiten | Quelltext bearbeiten]sub %eax,%edx mov %edx,%eax and $0x000000ff,%eax jmp 0xb7c9a4fa
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