Ich denke, der Unterschied hat viel mehr mit der beabsichtigten Verwendung der Sprache zu tun.
Zum Beispiel wird Python interpretiert und erfordert kein Kompilieren und Verknüpfen wie Prolog. Ich würde beide als Programmiersprachen klassifizieren.
Programmiersprachen sind zum Schreiben von Software gedacht. Sie sind für die Verwaltung großer Projekte konzipiert. Sie können wahrscheinlich Programme aufrufen, Dateien lesen usw., sind aber möglicherweise nicht so gut darin wie eine Skriptsprache.
Skriptsprachen sind nicht für die umfangreiche Softwareentwicklung gedacht. Ihre Syntax, Funktionen, Bibliothek usw. konzentrieren sich eher darauf, kleine Aufgaben schnell zu erledigen. Dies bedeutet, dass sie manchmal "hackiger" sind als Programmiersprachen und möglicherweise nicht alle die gleichen netten Funktionen haben. Sie wurden entwickelt, um häufig ausgeführte Aufgaben, wie das Durchlaufen einer Reihe von Dateien oder das Ausführen von Sysadmin-Aufgaben, zu automatisieren.
Beispielsweise kann Bash nicht gut rechnen, was wahrscheinlich das Schreiben von umfangreicher Software zu einem Albtraum machen würde.
Als eine Art Benchmark: Ich würde niemals einen Musik-Player in Perl schreiben, obwohl ich das wahrscheinlich könnte. Ebenso würde ich nie versuchen, C ++ zu verwenden, um alle Dateien in einem bestimmten Ordner umzubenennen.
Diese Linie wird immer unschärfer. JavaScript, per Definition eine "Scripting" -Sprache, wird zunehmend verwendet, um "Web-Apps" zu entwickeln, die eher im Bereich von Software liegen. Ebenso passt Python anfangs zu vielen Merkmalen einer Skriptsprache, es wird jedoch immer mehr Software entwickelt, die Python als primäre Plattform verwendet.