Eben nicht, ein Script ist eben auch ein Programm. Also kein Logikfehler, es wird sogar unterstützt.
DENN: Ein Programm wird als eine Folge von Anweisungen an den Computer definiert. Und das machen auch Skripts.
Genau so ist es eben nicht. Ein Programm unterscheidet sich zu einem Script in der Zwischenmaschine. Ein Programm steuert über Assembleropcodes direkt den Prozessor an und das macht es selbstständig lauffähig. Bei einem Script ist das gar nicht möglich, weil ein Script interpretiert werden MUSS. Ein Script ist eine spezielle Form einer Interpretersprache (s.o.) und somit nicht selbst lauffähig, sondern es ist durch mindestens eine Zwischenmaschine übersetzbar. Und dabei zählt nicht, ob es binär (PAWN) oder als Text (PHP, JavaScript,...) vorliegt. Wenn eine Scriptsprache eine Programmiersprache wäre dann wäre es möglich damit jeden möglichen Algorithmus zu formulieren (Siehe Turnig Vollständigkeit einer Programmiersprache) und genau das geht bei Scriptsprachen NICHT. Eine Scriptsprache ist nur so weit allgemein Einsetzbar wie der Interpreter es erlaubt.
Allgemein gilt:
- Eine Programmiersprache muss Turing Vollständig sein (egal ob esotherisch oder nicht)
- Eine Scriptsprache muss nicht, aber kann Turing Vollständig sein.
Die meisten Scriptsprachen sind nicht Turing Vollständig, sonst könntest du mit PAWN DirectX ansteuern oder sogar komplexe Fensterstrukturen under Windows programmieren. Es entzieht sich aber meines Wissens, dass das geht.
//EDIT: Nicht alles was in der Wikipedia steht ist 100 % richtig. Ich könnte dir zum Beispiel ein Beispiel für eine LZW Komprimierung geben, bei der der in der Wikipedia beschriebene Algorithmus die Hufe hoch macht. Ich will die Wikipedia nicht schlecht machen, aber das Wissen dort ist nun mal kein Fachwissen sondern Grundlegendes. Und bevor man sich darauf bezieht sollte man sich intensiv mit der Materie befassen und prüfen ob das auch wirklich stimmt, was da steht.