Javascript und PHP, Unterschied und Grundlagen

4 Antworten

JS läuft eigentlich eher im Frontend , kann aber auch dank Node.JS im Backend genutzt werden . PHP ist eigentlich explizit für die Serverseitige verwendung gemacht . Weitere Informationen bekommt man zum beispiel auf Wikipedia odrr auf selfHTML (etwas veraltet)

Ohh, jetzt machst du meine ganze Argumentation kaputt ^^ Ich denke dem Fragesteller müsste man noch die Begriffe "Front-" und "Backend" erklären.

0

Danke ;-)

0
@dereHawara

Stell doch der Klasse win paar kleine (Web)projekte vor , die beide Technologien in Aktion zeigen (nicht schwer) , aber so ein Login schindet mächtig eindruck

1

Der Hauptunterschied ist folgender:

PHP wird auf dem Webserver ausgeführt. Übers Internet wird also kein PHP-Skript, sondern mehr oder weniger das Ergebnis des PHP-Skripts gesendet. Dadurch ist es zum Beispiel möglich auf Dateien zuzugreifen, die auf dem Webserver liegen (und die per Web nicht zugänglich sind).

Beispiel: Passwort-Abfrage: Das eingegebene Passwort kann mit einem PHP-Skript auf dem Webserver mit dem korrekten Passwort verglichen werden, während die Datei mit dem korrekten Passwort auf dem Webserver liegt.

Ein JavaScript-Skript (oder wie auch immer man das nennt) wird (normalerweise) auf dem Webserver nicht weiterverarbeitet, sondern 1:1 an den Webbrowser weitergeschickt. Der Webbrowser führt dann das Skript auf dem heimischen Computer aus.

Gerade für JavaSkript gibt es aber seit neuerer Zeit auch andere Anwendungen als Webseiten...

JS kann auch serverseitig laufen und für Passwortabfragen nimmt doch eh jeder Python (nein, macht wohl keiner , aber ich weis wie sehr du das hasst )

0

Vielen Dank !Du hast mich gerade ein Schritt weitergebracht :) danke

0

Hallo!

Natürlich ist es richtig, dass du dir deine Informationen überwiegend selbst suchen solltest. Grundlegend ist dafür Wikipedia als Startpunkt ausreichend.

Da es aber leider sehr viele falsche Informationen dazu gibt möchte ich dir zumindest ein paar wichtige Dinge aufzählen.

Die Bezeichnung JavaScript wird im "Volksmund" gerne für die Sprache ECMAScript verwendet. Das mag kleinlich klingen, aber es gibt da tatsächlich unterschiede. Der Browser von Microsoft nutzt in vielen Versionen leider kein ECMAScript und ist dort deshalb oft nicht kompatibel.

Zu den Grundlagen von PHP wirst du sehr viel finden. Bei ECMAScript wird gerne behauptet, dass es eine Web-Sprache sei. Das ist so aber einfach überhaupt nicht richtig. ECMAScript wird tatsächlich in unzähligen Programmen als Scriptsprache verwendet. Dank NodeJS ist inzwischen auch die Nutzung als reines Programm möglich. Dabei ist die Bezeichnung als "Server-Sprache" aber auch nicht richtig. Ich nutze es z.B. inzwischen recht häufig als Ersatz für Bash unter Linux. Sei es, dass ich Daten von meinem Handy synchronisiere oder meinen Desktop automatisiere(Download-Manager, Dateien sortieren).

Zu den Unterschieden:

PHP ist eine Mischung aus recht vielen Strömungen. Urpsrünglich als Template-Sprache konzipiert, merkt man ihr die Ursprünge noch heute an. Die aufgesetzte "Objektorientierung" ist inzwischen zwar brauchbar, aber dennoch fühlt sich "erwachsene Programmierung" nicht wirklich richtig an. Es gibt immer einen Weg sein Ziel zu erreichen. Was auf der einen Seite ein Vorteil ist, aber meine Erfahrung hat gezeigt, dass ich ohne C-Kenntnisse wohl sehr viel früher an die Grenzen von PHP gestoßen wäre. Sehr oft muss die gewünschte Funktionalität "gebastelt" werden, die andere Programmiersprachen bieten. Deshalb ist PHP hauptsächlich eine prozedurale Sprache mit OO-Erweiterungen.

ECMAScript ist zwar eine Objekt-basierte Sprache und kann durchaus auch Objekt-Orienterte Klassen mit Instanzen nachbilden, aber eigentlich ist seine größte Stärke, dass es mit Objketen arbeitet und nicht mit Instanzen. Die Vererbung wird über Prototypen organisiert. Leider nutzen 90% aller ECMAScript-Nutzer dies nicht und bilden eine Klassen-Hierarchie nach. Selbstverständlich ist das nicht sehr effektiv und schon gar nicht Sinnvoll. Prototyp-Basierte Programmierung lässt dich im Prinzip deine "Instanzen" nach bedarf in der Laufzeit zusammen bauen. Mit intelligenter Nutzung von der Möglichkeit die geerbten Prototypen "durchscheinen" zu lassen oder lokal zu überschreiben ist tatsächlich eine sehr viel effektivere Programmierung möglich als mit Instanzen in anderen Sprachen. Jedoch verstehen wirklich sehr wenige Programmierer dieses Prinzip. Noch weniger wissen überhaupt, dass sie ECMAScript nicht richtig benutzen und schieben ihr Unwissen auf angebliche Fehler in der Sprache.

PHP wird mit dem Programm php ausgeführt und dabei Zeilenweise ausgeführt. Nach der Ausführung wird PHP wieder beendet. Sollte der Code sehr viele Verschachtelungen aufweisen, dann läuft der Speicher voll und das Script bricht umgehend ab. Es gibt keine Möglichkeit dies zu verhindern und ggf. Speicher frei zu machen.

ECMAScript wird initialisiert und läuft dann so lange, bis es terminiert wird. In der Regel wird alle X cycles ein Garabge-Collector ausgeführt.

In PHP ist ein Bezeichner erst ab dem Einlesen bekannt. Das bedeutet, dass du darauf achten musst, dass alle Bezeichner vor ihrem Aufruf in der Datei deklariert wurden. (Das ist in ECMAScript nicht so).

PHP hat viele eingebaute Funktionen, die zur Webprogrammierung(Ausgabe/HTTP/Datenbanken) genutzt werden können. ECMAScript nicht. Die Funktionen die im Browser genutzt werden können gehören nicht zu ECMAScript. Dies ist das DOM und wird vom Browser implementiert, hat aber mit der Sprache nichts zu tun! Lediglich ein paar Funktionen für Mathe, Daten usw. sind Teil des ECMAScript-Kerns.

Den Rest kannst du auf Wikipedia finden.

http://de.wikipedia.org/wiki/Prototypenbasierte_Programmierung

-> wiki/Kategorie:ECMAScript

-> wiki/Kategorie:PHP

weitere interessante "Stichpunkte":

die Sprache "Hack" von Facebook die Sprache "TypeScript" von Microsoft

NodeJS, v8, sizzle, Zend, ActionScript, ...

Viel Erfolg!

Was möchtest Du wissen?