Was ist der Unterschied zwischen einer Programmiersprache und einer Skriptsprache?

Beste Antwort

Python ist eine Skriptsprache, obwohl sie auch eine vollständige, objektorientierte Sprache ist Programmiersprache. Der Unterschied zwischen einer Skriptsprache und einem „Programm“ besteht darin, ob der Code von einem Interpreter ausgeführt wird oder nicht. Dies ist wahrscheinlich der einfachste Weg, darüber nachzudenken.

Wenn Sie also ein Python-Skript schreiben, haben Sie eine .py-Datei. Wenn Sie diese Datei ausführen möchten, führen Sie tatsächlich Python aus und übergeben Ihre PY-Datei als Argument. So etwas wie:

/usr/bin/python /Path/To/MyScript.py

Python würde dann das Skript ausführen. Wie andere bereits erwähnt haben, können Sie eine Shebang-Zeile in Ihr Skript einfügen. Dies sagt Ihrem Computer jedoch nur, wo sich der Interpreter befindet, mit dem das Skript ausgeführt werden soll. Der Dolmetscheransatz hat Vor- und Nachteile. Ein Hauptvorteil wäre die Benutzerfreundlichkeit. Sie können die folgende Zeile in eine .py-Datei einfügen und sie über Python ausführen:

print("Hello world!")

Mit einer Sprache wie Swift , C ++, C # oder Java, zum Beispiel würden Sie Ihr Programm tatsächlich in Maschinencode kompilieren, und die Datei, die sich aus dieser Kompilierung ergibt, wäre Ihr Programm oder ein Teil Ihres Programms. Es kann so wie es ist verteilt werden und benötigt keine anderen Programme, um es auszuführen. Interpretierte Sprachen sind aus verschiedenen Gründen nicht so schnell. Das ist wahrscheinlich erwähnenswert.

Sie haben Recht, dass Python nicht wirklich so vergleichbar mit Bash ist. Obwohl Sie in Bash viel erreichen können, ist die Sprache selbst nicht sehr leistungsfähig und nicht dafür ausgelegt, Programme oder Lösungen mit vollständig zu beschreiben. Python ist eine voll funktionsfähige, objektorientierte Programmiersprache, mit der Sie fast alles schreiben können. Es ist also wahr, dass beide Skriptsprachen sind, aber sie gehören nicht zur selben Liga. Zum einen ist Bash nicht objektorientiert. Außerdem rufen Sie mit Bash hauptsächlich Konsolen-Apps auf, die in einer anderen Sprache geschrieben wurden. Anschließend analysieren Sie die Ergebnisse einfach mit Bash oder senden sie über die Pipe an das nächste Konsolendienstprogramm.

Hier einige Beispiele für interpretierte Skriptsprachen:

Python, Ruby, Knoten JS, Powershell, vbScript, Javascript, Appescript, Bash, Perl usw.

Hier sind einige kompilierte, stark typisierte Sprachen:

Swift, Objective C, C, C ++, C # , Java

Hoffentlich hilft das beim Aufräumen.

Antwort

Skriptsprachen wie Python, Ruby, JavaScript, PHP sind ebenfalls Programmiersprachen. Sie unterscheiden sich von den herkömmlichen kompilierten Sprachen darin, dass sie interpretiert werden und eine dynamische Typisierung aufweisen. Der Datentyp eines Objekts kann jederzeit geändert werden. Mit anderen Worten, es ist nicht erforderlich, den Datentyp eines Objekts oder den Rückgabewert einer Funktion im Voraus zu definieren, und Sie können ihn im laufenden Betrieb umschalten.

Traditionell werden Skriptsprachen für einfache und einfache Zwecke verwendet schnelle Aufgaben. Das stimmt aber nicht mehr. Jetzt gibt es große Programme und Codebasen in Python, Ruby, JavaScript und PHP. Einige dieser Sprachen weisen im Vergleich zu kompilierten Sprachen eine langsame Leistung auf. Aber auch das stimmt nicht mehr. Mit JIT-Technologien haben JavaScript und PyPy eine große Leistungsverbesserung gezeigt, ebenso wie PHP 7.

Letztendlich ist es nur eine Terminologie, die neu formuliert werden muss.

Web-Technologie bei Am einfachsten ist eine Reihe statischer Dokumente, die vom Webserver an den Webbrowser gesendet werden und die vom Browser gemäß HTML und CSS gerendert werden. HTML ist eine Auszeichnungssprache, und CSS fügt Stile hinzu, die das Schreiben konsistenter und benutzerdefinierter Webseiten erleichtern. Der Inhalt ist jedoch statisch. Um den Inhalt zu ändern, müssen Sie vorhandenen HTML-Inhalt ändern oder neuen HTML-Inhalt schreiben.

Um Webinhalte dynamisch zu gestalten, können Sie einen von zwei Ansätzen wählen: i) CGI oder ii) Einbetten Code innerhalb von HTML-Seiten. Bei einer früheren Technik ruft der Webserver eine ausführbare Datei (geschrieben in einer Programmiersprache wie C, Perl oder einer anderen Sprache, einschließlich Skriptsprachen) auf, die dynamisch eine gesamte Webseite (mit entsprechenden HTML-Headern usw.) generiert und das vom ausführbar und an den Webbrowser zurückgeben. Dies erfordert die Verwendung von Bibliotheken, die die Interaktion mit einem Webserver (HTTP) verstehen. Langweilig, aber die früheste Form von dynamischem Webinhalt wurde auf diese Weise geschrieben. Letzteres verfolgt einen anderen Ansatz. Der Webserver erkennt Seiten mit eingebettetem Code (der normalerweise HTML enthält, in das Code eingebettet ist, der in einer Skriptsprache wie PHP, JSP, Python geschrieben ist) und sendet ihn an eine Skript-Engine, die nur den eingebetteten Code ausführt und durch das Ergebnis der Codeausführung ersetzt ( Lassen Sie den Rest von HTML, CSS und JavaScript unverändert und geben Sie die geänderte HTML-Seite an den Server zurück, der sie wiederum an den Webbrowser zurückgibt. Python und Ruby verwenden ebenfalls eine ähnliche, aber geringfügige Variation dieses Ansatzes. Dies ist serverseitiges Scripting.

JavaScript wurde als clientseitige dynamische Codierungs- / Skriptsprache gestartet.Jeder Browser verfügt über einen eingebetteten JavaScript-Interpreter. JavaScript-Code kann in eine Webseite eingebettet und an den Webbrowser gesendet werden, der diesen Code dann auf der Clientseite für Aufgaben wie die Formularüberprüfung und das dynamische Ändern des DOM ausführt. Mit dem Aufkommen von Node.js kann JavaScript jedoch genau das tun, was serverseitige Skriptsprachen tun.

Dann kam AJAX, eine Technologie, mit der clientseitiger JavaScript-Code serverseitige Skripts ausführen kann, um das Ergebnis vom Server abzurufen und füllen Sie das DOM. Auf diese Weise können Sie Dropdown-Felder im Browser dynamisch füllen, ohne die Webseite zu aktualisieren. JavaScript-Bibliotheken wie jQuery machten clientseitiges Scripting modular und einfach. HTML / CSS-Frameworks wie Bootstrap haben dasselbe für HTML5 und CSS3 getan.

Webanwendungs-Frameworks modularisieren und vereinfachen das Schreiben von Webanwendungen. Jede Skriptsprache verfügt über eine Sammlung von Web-App-Frameworks. Ruby hat Ruby on Rails. Python hat Django, Flask. PHP hat Laravel. JavaScript verfügt über AngularJS und andere.

Webanwendungen basieren auf Datenbanken als persistenten Datenspeicher. Daher ist es wichtig, SQL- und Datenbanktechnologien wie Database Abstraction Layer und Object Relational Mapping zu kennen. Das Aufkommen von NoSQL-Datenbanken fügt neue Dinge hinzu, die ein Webentwickler lernen muss.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.