Alternative zu PHP?!

Hallo,

na ja, wie man's nimmt – als „ganz gut“ würd ich Folgendes nicht grad bezeichnen:

(Fettdruck markiert Ausgaben von PHP, der Rest wurde von mir eingetippt)
Code:
C:\>php -a
Interactive mode enabled

<?
echo 'foo';
^Z
foo$a = 1234;
echo $a;
^Z
1234?>
^Z
^Z

C:\>
Getestet und für gleich befunden mit den offiziellen Binaries von PHP 4.4.2 und 5.1.4. Einziger Unterschied war, dass man bei PHP5 zumindest keine Steuerzeichen eingeben musste, um eine Ausgabe zu erhalten.

Ich glaube auch, dass ich dazu mal einen Bugreport gelesen habe, in dem es hieß, dass das an der fehlenden readline-Unterstützung liegt.

Grüße,
Matthias
 

Funjoy

Erfahrenes Mitglied
Hallo,

Habe den Tread ganz vergessen ^^
deswegen kommt auch eine Antwort recht spät :)

Also ich werde es wirklich erstmal in PHP machen da es ja nicht so schnell möglich ist eine gewaltige Programmiersprache wie ASP .Net zu lernen.

Und Christian ich habe mir gleich mal ein Python Buch bestellt (Objektorientierte Programmierung mit Python) bzw. habes es mittlerweile schon ^^

Und kann dir nur recht geben python ist sowas von geil gerade in sachen schnell und wenig tipp arbeiten :D

z.B. kann man in nur einer Zeile (die auch kurz ist ;) ) ein array bzw. liste mit Inhalte füllen z.B. ein 32 Kartenblatt von Skat und dann als Tuple zurückgeben lassen :)
Python:
#kartenfarbe
farbe = ['Kreuz','Pik','Herz','Karo']
#kartenwert
wert = ['Ass','Koenig','Dame','Bube',10,9,8,7]
#Und hier die 32 Karten :)
skatblatt = [(f,w) for f in farbe for w in wert]

#Ausgabe 
print skatblatt

... oder man kann sich auch einzelne Strings z.B. in ein Tuble zurückgeben lassen

Python:
#String multiplizieren u. in Tuple umwandeln leicht gemacht :D
Text = tuple(2*"Ja")
print Text # Ausgabe ('j','a','j','a')

Das ist das was ich an Python schonmal sehr geil finde kleiner Aufwand große Wirkung :D

freue mich schon wenn ich das Buch durch habe und meine erste kleine Anwendung selber schreiben kann :D

Aber Christian du kannst mir ja mal den Unterschied von set() und frozenset() erklären bei ausführung der Funktionen auf ein Tuple objekt verhalten die Funktionen sich gleich?! Aus dem Buch werde ich über die Funktionen nicht schlau was sie machen ist mir klar nur der Unterschied nicht :suspekt:

MfG Funjoy
 

Christian Fein

Erfahrenes Mitglied
frozenset ist immuteable. Du bist also nicht wirklich flexibel damit, dafür ist es performanter.

Liest du Daten aus und willst jene in einem Set halten, änderst diese nicht dann ist frozenset für dich das richtige.
 

tobee

Erfahrenes Mitglied
Ich hab zuletzt was von triple gelesen, da geht es auch recht einfach.
#String multiplizieren u. in Tuple umwandeln leicht gemacht :D
Text = tuple(2*"Ja")
print Text # Ausgabe ('j','a','j','a')
Code:
print(string.explode(2*"Ja")
 

Blaschki

Erfahrenes Mitglied
Warum denkt IHR den so eng nur php perl asp.
Es gibt einiges Leistungsstärkers als dieses Zeug.

ICh werf da nur mal den Begriff "ColdFusion" in den Raum.
Die haben zwar sauteure Lizenzen aber man kann damit Systeme programmieren von dennen PHP und ASP - user nur träumen.
 

Dennis Wronka

Soulcollector
Nur find erstmal einen Hoster der ColdFusion anbietet. Da gibt es sicher ein paar, aber die Masse wird das sicher nicht sein.
PHP hat halt ganz einfach den Vorteil der Verbreitung, wohl gegenueber allen hier aufgezaehlten Sprachen.
Und da ColdFusion nun nicht gerade neu ist ist eigentlich keine "Besserung" in dieser Angelegenheit in Sicht wuerde ich sagen. Python und/oder Ruby hingegen koennten irgendwann den Durchbruch schaffen, wenn es sich halt bei den Usern durchsetzt und sich diese Tatsache dann auch mal bei den Hostern rumspricht.
Der Vorteil dieser Sprachen gegenueber ColdFusion ist halt ganz klar der Preis. Und auch damit kann man umfangreiche Seiten machen. Ich weiss jetzt nicht was alles von ColdFusion geboten wird, aber die meisten User brauchen wohl keinen totalen Overkill. ;)
 

yan1

Erfahrenes Mitglied
Also ich kann dir einen großen Tipp geben: Servlets !

Ich habe eine Weile php programmiert und ASP.NET und Python angeschnitten.
Keines hat mich wirklich fasziniert, ich bin zwar eingefleischter C# programmierer, aber schon allein die Tatsache dass ASP.NET nur auf Windows Server läuft (Mono kann man in dieser Hinsicht eigentlich vergessen) schreckte mich ab *g*

Ich habe jetzt mich jetzt an Java rangeschmissen und finde Servlets einfach Klasse.
Eine Einbettung in Eclipse geht super (mit dem sysdeo Plugin für Tomcat)!
Was mich sehr begeistert ist, dass man beim Start des Webservers eine Datenbankverbindung öffnet, und diese dann für alle Anfragen verwenden kann.
Die Geschwindingkeit ist auch 100 zu 1
Servlets werden in einen Zwischencode übersetzt, der bei jeder Anfrage schon fast ausführbereit ist (ca. 10% langsamer als Native Code).
Bei PHP muss bei jeder Anfrage das Skript neu übersetzt werden und neue Datenbankv Verbindung geöffnet werden etc.

Vor allem für größere Projekte wie ein CMS ist die Überschaubarkeit des Codes um ein vielfachen besser ;-)

Lg, Yanick
 

Norbert Eder

Erfahrenes Mitglied
Funjoy hat gesagt.:
Und mir ist aufgefallen das, dass Handling mit XML Dateien wesentlicher einfacher ist wie mit PHP ausgenommen jetzt mal PHP 5
Beim XML-Handling kommt niemand nach, Java, kein Python und schon gar kein PHP. Das ist unter .NET 2.0 ganz nett gemacht.
Funjoy hat gesagt.:
Und meine entscheidung warum ich nun ASP .NET lernen will liegt darin das, dass .NET Frameworks in kommen ist und ich nicht den anschluss verlieren will
Es ist schon wahr, dass .NET einen immer stärkeren Stellenwert bekommt - auch im Enterprise-Beriech. Daher sicherlich eine gute Ausgangslage, wenn du dich damit beschäftigst.
 

diggity

Erfahrenes Mitglied
yan1 hat gesagt.:
Bei PHP muss bei jeder Anfrage das Skript neu übersetzt werden und neue Datenbankv Verbindung geöffnet werden etc.

Lg, Yanick

Das trifft in den meisten Fällen sicher zu, aber dafür gibt es ja Chaching Mechanismen wie sie z.B. bei Smarty zum Einsatz kommen :)
 
Zuletzt bearbeitet:

Christian Fein

Erfahrenes Mitglied
Norbert Eder hat gesagt.:
Beim XML-Handling kommt niemand nach, Java, kein Python und schon gar kein PHP. Das ist unter .NET 2.0 ganz nett gemacht.

Ach was fehlt dir denn unter Java?
Binding? Hats, XPath hats, DOM / SAX hats. JDom vereinfacht DOM (welches nach dem Standard relativ komplex ist)
Python bietet dir ebenfalls sehr interressante XML Apis.