Es gibt durchaus ein paar Software-Ebenen zwischen Computer-Nutzer und der Computer selbst , und das ist auch wahr - in geringerem Maße - für die Computer-Programmierer ? . Der Computer -Code , dass die meisten Programmierer schreiben ist nur entfernt mit den Anweisungen , die vom Computer verarbeitet werden, verbunden. Diese Werte machen den Computer einfacher zu bedienen. Machine Language
Jeder Computer ist gebaut, um eine Sprache ausgeführt werden. Diese Sprache wird als Maschinensprache für diesen Computer . Die Sprache besteht aus binären Codes , die den Computer genau das, was sie tun sollen . Alle Programme, die auf dem Computer ausgeführt werden bestehen aus einer Folge von Anweisungen in Maschinensprache . Die Ausführung dieses Abfolge von Anweisungen erstellt das Verhalten des Computers. Anweisungen bestehen aus spezifischen Hardware- Anweisungen wie das Verschieben von Daten von Speicherplatz zu Speicherplatz X Y, Verschieben von Daten in oder aus einem bestimmten Register , indem Sie die Zahlen , die jetzt in den Addierereingang Registern oder Spiegeln alle Bits im Register R1 . Ausführen von Befehlen in Maschinensprache geschrieben ist das einzige, was jeder Computer tun können.
Combiner
Writing Maschinensprache Code ist extrem mühsam , fehleranfällig und schwer zu debuggen . Alles ist Saiten von Nullen und Einsen . Es ist unmöglich, auf einen Blick erkennen, ob Daten 1111000100110101 ist , eine Anweisung oder die Adresse eines Speicherplatzes . Die erste Stufe der Verfeinerung in Computer-Programmierung war die Erfindung des Assembler -und Software- Monteure . Assembler -Programme haben den gleichen Anweisungen wie die Maschinensprache -Programm , aber die Anweisungen sind Dinge wie "ADD" und "MOVE ", das viel einfacher für Menschen zu behandeln sind . Außerdem sind Adressen in Dezimalzahlen und Register mit Namen wie R1 statt 10001111 bezeichnet. Ein Programm namens ein Assembler übersetzt Programme in Assembler in den entsprechenden Programm in Maschinensprache geschrieben, damit es ausgeführt werden kann .
Compiler
Assembler war ein enorme Verbesserung gegenüber schriftlich in Maschinensprache. Die zusätzliche Zeit, die der Assembler zu übersetzen, was der Programmierer in Maschinensprache geschrieben habe, war mehr als durch die enormen Einsparungen bei Zeit dauerte es , um das Programm in einer Mensch- freundliche Sprache schreiben ausgeglichen. Die Lösung war nicht perfekt. Menschen - vor allem diejenigen, die nicht Informatiker - gesucht , um das Problem zu beschreiben, zu lösen, anstatt die Zerlegung in kleine Schritte , wie man Informationen rund um einen Computer zu bewegen. Die nächste Stufe in der Sprache Hierarchie war der Compiler Sprache . Diese Sprachen ermöglichen den Menschen zu beschreiben, was war es, in noncomputer Bedingungen durchgeführt werden. Ein Programm namens ein Compiler übersetzt diese High-Level- Programme in Maschinensprache. Compiler sind viel komplizierter als Monteure .
Simulatoren
Statt für den Bau neuer Maschinen , um Programme in neuen Sprachen geschrieben wurden , erlauben Softwaresimulatoren eine Maschine zu sein " simuliert . " Diese virtuellen Maschinen sind gründlich , indem Sie Benchmarking-Programme , bevor sie überhaupt gebaut werden getestet. Die Simulatoren werden auch verwendet, um zu testen, neue Compiler und Sprachen , bevor sie überhaupt geschrieben werden.