Kann mir jemand den Unterschied zwischen einer Skriptsprache und einer Programmiersprache erklären, bitte?
Können Sie auch einige Beispiele für jede nennen? Ich habe viel gegoogelt, aber die besten Antworten finde ich immer auf Stack Overflow.
Antworten
Zu viele Anzeigen?Abgesehen von dem Unterschied, dass Skriptsprache interpretiert und Programmiersprache kompiliert ist, gibt es einen weiteren Unterschied, der meiner Meinung nach übersehen wurde.
Eine Skriptsprache ist eine Programmiersprache, die verwendet wird, um die Einrichtungen eines bestehenden Systems zu manipulieren, anzupassen und zu automatisieren. In solchen Systemen steht bereits nützliche Funktionalität über eine Benutzeroberfläche zur Verfügung, und die Skriptsprache ist ein Mechanismus, um diese Funktionalität der Programmsteuerung zugänglich zu machen.
Im Gegensatz dazu wird eine Programmiersprache im Allgemeinen verwendet, um das System von Grund auf zu kodieren.
Quelle ECMA
In Skriptsprachen wie (JavaScript und alten PHP-Versionen) verwenden wir vorhandene grundlegende Funktionen und Methoden, um unsere Aufgabe zu erledigen. Nehmen wir ein Beispiel in JavaScript
, wir können ajax
oder Web-Sockets
nur verwenden, wenn sie vom Browser unterstützt werden oder Methoden dafür im Browser vorhanden sind. Aber in Sprachen wie C oder C++, Java können wir dieses Feature von Grund auf neu schreiben, auch wenn keine Bibliothek für dieses Feature verfügbar ist, aber wir können dies nicht in JavaScript tun.
Kannst du Web-Sockets in Internet Explorer 8 oder früher mit Hilfe von JavaScript unterstützen Aber du kannst ein Plugin in C oder C++ oder Java schreiben, das eine Funktion von Web-Sockets zu Internet Explorer 8 hinzufügen kann.
Im Grunde genommen schreiben wir in Skriptsprachen einen Code in einer Sequenz, der vorhandene Methoden nacheinander ausführt, um unsere Aufgabe zu erledigen. Das Eingeben von Zahlen und Formeln in einen digitalen Taschenrechner, um eine Operation durchzuführen, ist auch ein sehr gutes Beispiel für eine Skriptsprache. Wir sollten beachten, dass der Compiler/Runtime-Umgebung jeder Skriptsprache immer in einer Programmiersprache geschrieben ist, in der wir weitere Funktionen und Methoden hinzufügen und neue Bibliotheken schreiben können.
PHP Dies ist eine Sprache, die irgendwo zwischen Programmierung und Skripting liegt. Wir können neue Methoden hinzufügen, indem wir kompilierte Erweiterungen in einer anderen Hochsprache schreiben. Wir können keine Funktionen auf hoher Ebene für Netzwerke oder die Erstellung von Bildverarbeitungsbibliotheken direkt in PHP hinzufügen.
P.S. Es tut mir wirklich leid, dass ich meine Antwort nur um PHP und JavaScript drehe, aber ich benutze diese beiden, weil ich in diesen beiden eine beträchtliche Erfahrung habe.
Skriptsprachen sind Programmiersprachen, die von Menschen als Skriptsprachen betrachtet werden. Es handelt sich um eine künstliche Kategorie ohne klare Grenze, und jede vorgeschlagene Regel hat Ausnahmen.
Die klassischen Regeln besagen, dass eine Sprache eine Skriptsprache charakterisiert, aber nicht definiert. Wenn eine Sprache mehrere Regeln erfüllt, besteht eine gute Chance, dass sie als Skriptsprache betrachtet wird. Andernfalls besteht eine gute Chance, dass sie es nicht ist. Die Regeln beinhalten normalerweise:
- Es ist für kleine „Skripte“ gedacht, nicht für große Programme.
- Es ist in einer anderen Anwendung eingebettet, um kleine Änderungen an dieser Anwendung vorzunehmen.
- Es wird interpretiert, nicht kompiliert.
- Es ist für Anfänger, nicht für Profis gedacht.
- Der Name endet auf "skript".
Ich würde hinzufügen:
- Eine Skriptsprache ist eine Programmiersprache, bei der fast alle Fehler zur Laufzeit erkannt werden.
Das heißt, es könnte eine interpretierte Sprache sein.
Wenn eine Programmiersprache ein signifikantes „Kompilierzeit“-Verhalten aufweist, bei dem der Code analysiert und Fehler ohne Ausführung des Programms gemeldet werden, wie Typfehler von C, Java oder C#, dann wird sie höchstwahrscheinlich nicht als Skriptsprache betrachtet.
Traditionell wurden viele Skriptsprachen direkt aus dem Quellcode interpretiert, aber die beliebteren von ihnen haben leistungsfähigere Implementierungen erhalten, die den Code vorab kompilieren, wie z.B. Pythons .pyc
-Dateien oder optimierende JavaScript-Engines, die den Code vor der Ausführung in nativen Code kompilieren.
Wenn die Sprache könnte von einem Interpreter implementiert werden, der nur den Quellcode beim Ausführen betrachtet, dann wird sie wahrscheinlich als Skriptsprache betrachtet. Ob sie tatsächlich auf diese Weise implementiert ist, ist nicht wichtig, aber wenn es möglich ist, kann sie auch keine umfangreiche Kompilierzeitfehlerüberprüfung des Codes erfordern.
Wenn die Sprache eine nützliche statische Semantik bietet, die dabei hilft, Fehler (außer Syntaxfehlern) zu erkennen, ohne dass das Programm ausgeführt werden muss, handelt es sich wahrscheinlich nicht um eine Skriptsprache.
Es gibt immer Ausnahmen, normalerweise basierend auf der Tradition um eine Sprache mehr als auf einer tatsächlichen Regel. BASIC wird im Allgemeinen nicht als „Skriptsprache“ angesehen, obwohl es so ziemlich alle Kriterien erfüllt, die jemals für eine solche verwendet wurden. Deshalb musste Visual Basic Script das „skript“ zum Namen hinzufügen, um sich von Visual Basic zu unterscheiden, einer „echten“ Programmiersprache, die für größere Programme gedacht ist.
BASIC ist auch eine alte Programmiersprache, wie COBOL und Fortran, aus einer Zeit, in der von einer Sprache noch keine statische Analyse erwartet wurde, und im Grunde genommen bevor „Skriptsprachen“ überhaupt existierten.
Wenn wir logisch Programmiersprache und Skriptsprache sehen, sind diese zu 99,09% gleich. Denn wir verwenden das gleiche Konzept wie Schleife, Steuerungsbedingung, Variable und alles, so können wir sagen, ja, beide sind gleich, aber es gibt nur eine Sache, die sie unterscheidet: In C/C++ und anderen Programmiersprachen kompilieren wir den Code vor der Ausführung. Aber in PHP, JavaScript und anderen Skriptsprachen müssen wir nicht kompilieren, wir führen ihn direkt im Browser aus.
Danke Nitish K. Jha
- See previous answers
- Weitere Antworten anzeigen