PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Scriptsprache für Serverscripting und eventuell mit Qt Binding



miketech
19.09.2004, 18:49
Hi,

ich möchte gerne eine Scriptsprache lernen. Ich brauch irgendwas, um ein paar Scripte auf einem Server einzurichten. Nun stellt sich mir die Frage, was ich da nehme :) (Ja ich weiß, eine tolle Frage).

Derzeit macht Python einen ganz vernünftigen Eindruck auf mich. Ich suche jedoch etwas, was eventuell von der Syntax nicht zu unterschiedlich ist, zu der von C/C++. Spontan fällt mir da PHP ein. Jedoch weiß ich nicht, wie es bei einem Vergleich von PHP und Python aussieht. Kann jemand dazu etwas sagen? Man muss PHP ja nicht unbedingt für dynamische Webseiten nutzen. Allerdings habe ich noch nie gehört, dass jemand Scripte zur Administration auf seinem Server mit PHP betreibt. Die meisten, die ich kenne nutzen Perl oder Python. Wieso kein PHP? Desweiteren fände ich ein Qt Binding oder KDE Binding super. Sowas habe ich bei PHP nicht gesehen. Bisher nur bei Python.

Hat jemand ein paar Tipps für mich?

Gruß

Mike

thorus
19.09.2004, 19:50
Naja, also aus meiner persönlichen Erfahrung kann ich Python empfehlen.
Aber ich schlüssele mal alle Vor- und Nachteile von den Scriptsprachen auf, so wie ich sie sehe: (bitte keine Flames :p)

Python
+ einfach, übersichtlich
+ viele Erweiterungsmodule, große Standardlibrary
+ vereinigt objektorientiere, prozedurale und funktionale Programmierung
- mit keiner anderen gängigen Sprache ähnlich (mit Einarbeitung kein Problem)
Perl
+ C-ähnliche Syntax
+ extrem viele Erweiterungsmodule
- bei größeren Programmen unübersichtlich ("Perl-Hacks")
- (noch) kein OOP
PHP
+ C-ähnliche Syntax
+ OOP (erst bei PHP5 "brauchbar")
- wenige Erweiterungsmodule (GTK gibts aber bspw.)

Es gibt noch mehr Argumente für oder gegen die jeweiligen Sprachen, aber ich denke das sind die, die am häufigsten erwähnt werden.

avaurus
19.09.2004, 20:30
die meisten Scripts von mir hier lokal sind PHP-Scripts. Liegt wohl auch daran, dass ich viele Befehle von PHP kenne und somit "mal ebend" ein Script schreiben kann. Ich würde mit Perl oder auch Python ne ganze Ecke mehr an Zeit benötigen, um das zu machen, was ich mit PHP auch mache. Von der Geschwindigkeit brauchen wir ja garnicht erst reden, ist bei allen nämlich nicht berauschend.

miketech
19.09.2004, 22:20
Hi,

zunächst Danke für Eure Antworten. Gibt es da auch keine Unterschiede zwischen PHP und Python, was die Geschwindigkeit angeht? Sehr schade, dass es für PHP keine Qt Bindings oder so gibt.

Gruß

Mike

avaurus
19.09.2004, 22:24
ja, das PHP nur GTK als extension bietet, ist nicht gerade viel...würde mich auch über ein qt-binding freuen.

miketech
19.09.2004, 22:33
Die Objektorientierung von PHP erinnert ab PHP 5 sehr stark an Java, wie mir aufgefallen ist. Also sehr umfangreich und sehr strikt. Die OOP von Python kann ich jetzt noch nicht beurteilen. Ist man also mal wieder vor die Qual der Wahl gestellt. :)

Mike

avaurus
19.09.2004, 22:37
mein Tipp: PHP :) "give it a try" :)

thorus
20.09.2004, 06:24
Naja, ich will dir mal etwas Code zeigen. ;)

Da du Systemaufgaben erledigen musst, wird wohl einer der häufigsten Aufgaben sein eine Datei zu öffnen und zu parsen.
Hier mal so ein Grundgerüst in PHP und Python. Es wird einfach der Inhalt der Datei Zeile für Zeile ausgegeben. Das Zeile für Zeile ist wichtig, da du das sehr wahrscheinlich für's Parsen brauchen wirst, sofern du keine Regexps benutzt.


Python:
f = open('test.txt')
for line in f:
print line

PHP:
$f = fopen('test.txt', 'r');
$content = fread($f, filesize('test.txt'));
$lines = explode('\n', $content)
foreach($lines as $line)
echo $line
fclose($f);
(Wenn jemand eleganteren PHP-Code hat, möge er ihn bitte posten ;))

Was eleganter ist, kannst du entscheiden. ;)

Steve
20.09.2004, 11:44
Perl kann OOP nur um das mal zu berichtigen. Du sagst, dass du mit QT arbeiten möchtest. Dafür würde ich dir Python empfehlen, weil das die besten Bindings für Qt hat.

steve

hehejo
20.09.2004, 11:49
Aber thorus..
du hättest die Datei schon schließen können! :-)

Python ist komplett OO.
Kann dazu nur mal das Buch "Dive into Python" vorschlagen. Lohnt sich echt das zu lesen.
Der Autho wirft einem einen Batzen Code vor die Füße und rollt dann alles wunderbar auf. So lernt man nach und nach an sinnvollen Beispielen wie man mit Python elegant und schnell coden kann.
www.diveintopython.org oder .com.
Aufgepasst: Das Buch gibt es KOSTENLOS zum download!
-> Man kann also nur profitieren.

miketech
20.09.2004, 12:03
Hi,

habe grad gelesen, dass es auch Qt/KDE-Bindings für Ruby gibt. Wäre natürlich auch noch zu überlegen :) Schon jemand Erfahrungen mit Ruby gemacht?

Gruß

Mike

thorus
20.09.2004, 12:28
Aber thorus..
du hättest die Datei schon schließen können! :-)
Da nehm ich mir einen kleinen Umstand zu nutze:
Das Objekt, das durch open() erzeugt wird, hat als Desktruktor das Schließen schon. Warum mehr schreiben? ;)


Perl kann OOP nur um das mal zu berichtigen.
Ok, danke. Ich hab grade nachgeschaut. Ich dachte das käme erst in einer neueren Version. Ich bin nicht so der Perl-Freak. ;)

miketech
27.09.2004, 08:19
Hi,

also danke für Eure Antworten. Ich werde mal einen Blick auf Ruby und Python werfen. PHP kenn ich ja schon und dann kann ich das abwägen. Python macht nen vernünftigen Eindruck auf mich, gerade weil es viele Bindings gibt und Ruby hat aber auch meine Neugierde geweckt :)

Gruß

Mike