PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welches ist die beste Scriptsprache? PHP, Python, Perl oder Ruby?


Gast
2007-11-09, 07:47:49
Welche von den vier Scriptsprachen ist die beste in den jeweils folgenden Disziplinen?


- Webserverumgegbung + Datenbankanbindung
- GUI Programmierung für lokale Anwendungen (z.b. mit GTK)
- allgemeine Programme für das Betriebssystem (also alles mögliche, was lokal noch so anfängt und sich mit einer Scriptsprache lösen läßt)



Die Bewertung in den einzelnen Diziplinen kann getrennt erfolgen.
Also z.B. PHP für Werbserver und Python für GUI Programmierung.

Was eignet sich eurer Meinung nach für was am besten und wo liegen die Stärken und Schwächen dieser Scriptsprachen.




Ich begrenze diese Umfrage mal auf diese 4 Haupt-Skriptsprachen,
also bitte keine Kommentare zu JavaScript, TCL, Lisp, VBS, Unrealscript, Lua oder ähnlichem Gedöns.

Shink
2007-11-09, 08:28:18
Sicher Ansichtssache; ich mach trotzdem mal mit...
- Python
- Python
- Perl

Allerdings ist das unerheblich, da sicher bald wieder eine neue In-Sprache daherkommt, die die Gunst aller Scriptsprachen-Programmierer (komische Leute sind das) auf sich zieht.

Vorteile Python: Saubere Syntax; brauchbare Objektorientierung; brauchbare Standardlibrary; brauchbare Verfügbarkeit von Libraries für alles mögliche; brauchbare Interoperabilität mit anderen Programmiersprachen.
Vorteile Perl: Ausdrucksstark; weit verbreitet.
Nachteile Perl: Schmutzig und unsicher

huha
2007-11-09, 08:35:16
PHP ist gut für Skripte auf Webservern, da es einen Vorteil gegenüber Python und Ruby hat: Es ist fast überall verfügbar. Bis man mal Python- oder gar Ruby-Unterstützung findet, muß man schon suchen.

Für GUI-Programmierung empfehle ich Python, da es eine irrsinnige Menge an Libraries dafür gibt.

Letztendlich ist es allerdings nicht so wichtig, ich würde an deiner Stelle eher schauen, welche Sprache dir gut gefällt--Ruby ist beispielsweise eine interessante Sprache mit IMHO furchtbarer Syntax, die ich persönlich nur widerwillig lernen würde.

-huha

Gast
2007-11-09, 09:28:26
Wieviel Virtuelle PHP Homepages verträgt denn ein Webserver gleichzeitig wenn PHP verwendet wird, und wieviele sind es bei Python, wenn die Hardware die gleiche ist?

Oder anders gesagt, was von beidem ist effizienter und sparsamer mit den Resourcen.


Java Servlets sollen hier ja ganz schlecht abschneiden, da so ein Server gerade mal 20 VJS Instanzen packt, deswegen sind die auch so teuer, während es bei PHP gleich 1000 sein sollten, nur wie sieht es bei Python aus?

Stimmt es, daß Python hier noch besser ist?

Gast
2007-11-10, 00:50:00
Ich versteh nicht ganz deine Definition von "lokale anwendungsgebiete" . PhP läuft doch nur im browser, ka wies bei Ruby und Phyton aussieht. Trotzdem für web+db Zeug ist php jedenfalls gut gerüstet - massenweise Funktionen. Hab früher mal mit Perl rumgemacht und weiß leider nicht wies aktuell ausieht, aber damals hätte man sicher 10 zeilen schreiben müssen wo man heute in php nur noch 1 Funktion hinhaut.

Gast
2007-11-10, 01:00:36
ps das mit dem Browser war jetzt arg missverstänlich ausgedrückt klar laufen die Scripts auf dem Rechner/Server ;-) und du kannst wahrscheinlich auch ne Konsole aufrufen aber Anwendungen mit gui sind glaub ich nicht das Einsatzgebiet von php. Nur im Zusammenhang mit html usw. kommt sowas wie gui zustande.

The_Invisible
2007-11-10, 09:35:02
php ist gleich wie c. eine frickelsprache mit oop funktionalität, aber wird am häufigsten eingesetzt das man fast nicht darum herum kommt. für gui programme kann man es vergessen da die meisten bindings sich noch in beta oder sogar alpha stadium befinden. je nach implementierung kann man damit aber auch komplexere, saubere webanwendungen schreiben abseits von gästebuch und newsscript.

perl kann ich überhaupt nicht ausstehen, wenn ich die syntax schon sehe stellt es mir die haare auf.

python ist sehr nett für gui und konsolenprogramme (zusammen mit wxwidgets lassen sich zb sehr schöne und einfach zu verwaltende crossplatform-gui programme entwickeln), für den webeinsatz aber noch nicht so bequem von den funktionen her. da beide als native apache module vorhanden sind dürfe es performanceseitig keine großen unterschiede geben.

mfg

darph
2007-11-10, 12:13:14
PhP läuft doch nur im browser
Stimmt nicht (http://www.phpcenter.de/de-html-manual/features.commandline.html).

Läßt sich auch lokal als Konsolenapplikation ausführen, zum Beispiel für regelmäßige Cronjobs, die irgendwas in der Datenbank frickeln.

beos
2007-11-10, 12:19:15
Wieviel Virtuelle PHP Homepages verträgt denn ein Webserver gleichzeitig wenn PHP verwendet wird, und wieviele sind es bei Python, wenn die Hardware die gleiche ist?

Oder anders gesagt, was von beidem ist effizienter und sparsamer mit den Resourcen.


Java Servlets sollen hier ja ganz schlecht abschneiden, da so ein Server gerade mal 20 VJS Instanzen packt, deswegen sind die auch so teuer, während es bei PHP gleich 1000 sein sollten, nur wie sieht es bei Python aus?

Stimmt es, daß Python hier noch besser ist?

Eher das Gegenteil - die JVM ist im Server integriert und läuft ständig - bei den meisten Scriptsprachen (mal PHP als Modul ausgenommen) läuft alles als CGI und die Erzeugung eines CGI Prozesses ist für das Betriebssystem eine sehr komplexe und ressourcenverschwendende Sache.

Die Erzeugung eines Threads oder Starten eines Servlets in der laufenden JVM ist dagegen das reinste Kinderspiel - zumal der auszuführende Code schon im Maschinencode der JVM vorliegt und zur Laufzeit weder geparst noch übersetzt werden muss.

Shink
2007-11-10, 16:27:56
php ist gleich wie c. eine frickelsprache mit oop funktionalität, aber wird am häufigsten eingesetzt das man fast nicht darum herum kommt.
Genau meine Ansicht...

perl kann ich überhaupt nicht ausstehen, wenn ich die syntax schon sehe stellt es mir die haare auf.
Perls unsichtbare Variablen würden aber gut zu deinem Nick passen :biggrin:
Wenn man so weit ist, Perls Syntax kritisch zu hinterfragen lässt man es besser gleich links liegen. Es gibt Leute, die tatsächlich große Anwendungen damit machen aber meine Ansicht ist: Perl ist toll - für alle Projekte, die man darin in unter 100 Zeilen hinbekommt. Und es ist somit für mich eher Tool als Programmiersprache.

Gast
2007-11-11, 00:40:17
Eher das Gegenteil - die JVM ist im Server integriert und läuft ständig - bei den meisten Scriptsprachen (mal PHP als Modul ausgenommen) läuft alles als CGI und die Erzeugung eines CGI Prozesses ist für das Betriebssystem eine sehr komplexe und ressourcenverschwendende Sache.

Die Erzeugung eines Threads oder Starten eines Servlets in der laufenden JVM ist dagegen das reinste Kinderspiel - zumal der auszuführende Code schon im Maschinencode der JVM vorliegt und zur Laufzeit weder geparst noch übersetzt werden muss.

Du erzeugst aber keinen Thread, sondern jedesmal eine neue JVM!

Bedenke, das sind virtuelle Server.
D.h. z.b. ein PC in Hardware, auf dem mehrere Betriebssysteme und JRE in Virtuellen Umgebungen laufen.

Pro gehostete Webseite brauchst du also gleich > 300 MB Arbeitsspeicher, weil dann die JRE gestartet werden muß.

Shink
2007-11-11, 18:56:10
Nicht unbedingt. Je nach eingesetzter J2EE-Engine und VM gibts natürlich auch Thread-Pools, mehrere Threads die auf einen OS-Thread gemappt werden etc.
Wär ja blöd wenn sonst trotzdem irgendjemand Java verwenden würde.

Darum gehts im Thread aber nicht.