Ein Computer "weiß" nicht von Natur aus, wenn ein Anweisungen ein Programm ist. Es kennt nur Sequenzen von Anweisungen (Code) in einer Sprache, die es versteht (z. B. Maschinencode oder Assemblersprache). Ob diese Sequenz ein * Programm * ist, ist eine Frage der Interpretation und des Kontextes.
So funktioniert der Prozess:
1. Eingabe: Der Computer erhält eine Abfolge von Zeichen (Ihre typisierten Anweisungen). Dies könnte in einer hochrangigen Sprache (wie Python, Java, C ++) oder einer Sprache auf niedriger Ebene (Versammlung) sein.
2. Parsen/Zusammenstellung/Interpretation: Der entscheidende Schritt. Ein Programm (Compiler, Dolmetscher oder Assembler) analysiert die Eingabe. Es versteht die Bedeutung im menschlich lesbaren Sinne nicht direkt, aber es prüft:
* Syntax: Entspricht die Abfolge von Zeichen den grammatikalischen Regeln (Syntax) der Programmiersprache? Wenn nicht, meldet es Syntaxfehler.
* Semantik: Auch wenn die Syntax korrekt ist, prüft das Programm, wenn die Anweisungen logisch sinnvoll sind. Dies geschieht oft während der Zusammenstellung oder zur Laufzeit. Ein semantisch falsches Programm stürzt möglicherweise nicht ab, kann jedoch unerwartete oder falsche Ergebnisse führen. Beispiel:Dividierung durch Null.
3. Übersetzung: Wenn die Eingabe Syntax- und semantische Überprüfungen (oder zumindest die anfängliche Syntaxprüfung) übersetzt, übersetzt das Programm es in den Maschinencode - die Sprache, die die CPU des Computers direkt versteht (binäre Anweisungen).
4. Ausführung: Die CPU führt die Maschinencode -Anweisungen nacheinander aus (es sei denn, es gibt Sprünge, Schleifen oder Anrufe bei anderen Funktionen). Der Computer entscheidet nicht, ob es sich um ein "Programm" handelt. Es führt einfach die Anweisungen aus.
5. Ausgabe/Ergebnis: Die Ausführung erzeugt eine Ausgabe (z. B. Text, Grafiken, eine Änderung der Dateiinhalte). Die * Bedeutung * und ob diese Ausgabe die erfolgreiche Ausführung eines "Programms" darstellt, wird vom menschlichen Benutzer anhand seiner Erwartungen und dem beabsichtigten Zweck des Programms beurteilt.
Kurz gesagt, ein Computer folgt nur den Anweisungen. Ob eine Sammlung von Anweisungen ein Programm ist, hängt von:
* ob es syntaktisch korrekt ist im Kontext einer Programmiersprache.
* ob es semantisch bedeutungsvoll ist (Tut es, was es zu tun hat?).
* ob es ein bestimmtes Ziel erreicht Wie vom Programmierer beabsichtigt. Dies ist der Aspekt des menschlichen Urteils.
Ein einzelner Anweisungen für sich selbst ist kein Programm. Ein Programm ist eine vollständige Reihe von Anweisungen, die bei der Ausführung eine Aufgabe erfüllen. Der Computer führt nur Anweisungen aus; Es liegt an dem Programmierer, sie in ein Programm zu organisieren.