Scirptsprachen: Was ist besser für die Webentwicklung, Python oder PHP und wo sind die Unterschiede?
-
árn[y]ék schrieb:
Nein, hat es (im Bezug auf die genannten Kritikpunkte) leider nicht. Aber PHP 6 lässt eine Besserung erhoffen
Den einzigen Kritikpunkt, den ich bei der Aufzählung sehe sind die Sicherheitslücken.Sowas lässt sich aber durch saubere Programmierung wieder ausbügeln.
Der Rest ist "persönliches Empfinden".
-
Kenner des ASP.NET schrieb:
Aber du scheinst mit nicht gebildet genug zu sein um das zu konfigurieren.
also offensichtlich eine technologie für echte nerds. das ist nicht gerade ein pluspunkt.
-
phpverfechter schrieb:
árn[y]ék schrieb:
Nein, hat es (im Bezug auf die genannten Kritikpunkte) leider nicht. Aber PHP 6 lässt eine Besserung erhoffen
Den einzigen Kritikpunkt, den ich bei der Aufzählung sehe sind die Sicherheitslücken.Sowas lässt sich aber durch saubere Programmierung wieder ausbügeln.
Der Rest ist "persönliches Empfinden".Worauf ich mich bezog, waren eher Feinheiten wie uneinheitliche Parameterreihenfolgen in Stringfunktionen und ähnliches. Solche Sachen sollen aber afair in PHP6 mit Verlust der Abtwärtskompatibilität vereinheitlicht werden.
-
Hm
Also PHP fehen noch einige dinge soweit ich das sehe.
Es gibt nichtmal einen echte Bytecode Compiler zumindest nicht in der
Form wie es ihn bei Java oder C# gibt, der sollte schon soweit wie möglich optimieren und sobald der Code ausgeführt wird sollte er für die jeweilige Plattform so gut es geht Optimiert werden je mehr desto besser.
Wieso verschenkt man soviel Leistung durch Parsen und dergleichen wenn man es mit einmal erledigen kann und dann Ruhe ist.
-
Uiii da hat aber jemand schon länger geschlafen.
Es gibt sogar schon PHP Compiler....
-
Du hast den Sinn von Interpretersprachen nicht wirklich verstanden, huh?
Im Übrigen behaupte ich genau das Gegenteil: PHP ist absolut überfüllt mit Dingen. Die Sprache ist aufgebläht wie kaum eine andere, der globale Namespace quillt über und eine echte Struktur fehlt dem Ganzen auch ...
-
Gut das das nur eine Behauptung ohne irgendwelche Grundlagen sind ....
-
Abgesehen davon, dass sich mein Beitrag auf den von user33 bezog:
http://www.php.net/quickref.php
-
Das hab ich auch anders gemeint kann ja nicht ahnen dass du das so interpretierst
scheiß typumwandlung macht mir glatt nen int aus nem array
ne ich meinte das eigentlich anders.
Aber es sind nicht nur die Namespaces die fehlen auch Mehrfachvererbung geht mir ab. Es gibt noch hunderte kleiner und großer dinge die stören aber so einfach ist das alles leider nicht einzubauen nehm ich an hab mich mit compiler und programmiersprachen design nur wenig beschäftigt
-
Ich persönlich mag Ruby on Rails sehr gerne. Leider unterstützt das so gut wie kein Hoster.
-
Ist sicher alles geschmacksache.
Was ich gut finde ist das ZendFramework das hat mich nun echt erstaunt hab das letzte mal drüber gelesen als es noch frühe alpha war aber jetzt hat es echt viele funktionen das erleichtert einem das leben echt
lese gerade die doku und bin echt beeindruckt bis jetzt sollten sich all jene die es noch nicht kennen anguggen und alle die nur ne frühe version gesehen haben auch denn es ist echt gut zumindest das was ich gesehen habe bis jetzt das ist echt groß geworden am anfang wars ja eher bescheiden
-
Man man man....
Wenn ich eins nich mag sind es Leute, die es nicht für nötig halten, "fremden" Plattformen eine Daseinsberechtigung einzuräumen. Aber was solls...Aber ich muss sagen, dass auch mich bis jetzt keine von mir ausprobierte Plattform wirklich vom Hocker gehauen hat (bin aber auch nicht der professionelle Webentwickler, der schon alles in den Fingern hatte)...
(APS).net: Seeeeehhhr mächtig. Leider für jemanden, der nur mal schnell eine Seite mit ein wenigen dynamischen Inhalten erstellen will zu mächtig.
Die Behauptung, sich mit ASP.NET selbst einzuschrenken weil es zu wenige Server gäbe halte ich aber für eine Schutzbehauptung von jemand, der sich nicht genug informiert hat. Im Gegenteil - gerade durch .Net wird der Stellenwert dieser Plattform IMHO in den nächsten Jahren sicher weiter wachsen (gerade mit dem neuen Presentation Layer in .Net 3.x und allem, was dahinter hängt).
PHP(>5): Auch ziemlich mächtig, da es wahnsinnig viele Ressourcen gibt und die Sprache bereits einen riesigen Funktionsumfang enthält. Aber genau da liegt auch das bereits angesprochene Problem: Sehr unaufgeräumt. Aber dafür einfach zu lernen. Was mich an PHP stört sind zum einen die Tatsache, wie PHP mit Typen umgeht. Wenn die Sprache einem fröhlich einen int nach float, und dann zum String und daraus nach bool konvert, und das ohne mit der Wimper zu zucken, macht mir das ein wenig Angst. Noch schlimmer ist es, wenn man mit Objekten arbeitet. Da ist es, selbst bei sauberer Programmierung, nur eine Frage der Zeit, bis das mal in die Hose geht.Ich träume ja von einer von einer ganz neuen Sprache, welche ausschließlich Objektorientiert und dazu noch typsicher ist und durch bestimmte Deklarationen auch direkt dynamischen Code (--> JS) erzeugt ohne dass man sich einer anderen Sprache bedienen bzw. andere Objekte erstellen muss. Leider fehlt mir die Zeit, für sowas mal einen eigenen Compiler/Interpreter zu bauen - also wird es wohl immer ein Traum bleiben
-
Was mich an PHP stört sind zum einen die Tatsache, wie PHP mit Typen umgeht. Wenn die Sprache einem fröhlich einen int nach float, und dann zum String und daraus nach bool konvert, und das ohne mit der Wimper zu zucken, macht mir das ein wenig Angst. Noch schlimmer ist es, wenn man mit Objekten arbeitet. Da ist es, selbst bei sauberer Programmierung, nur eine Frage der Zeit, bis das mal in die Hose geht.
Das ist aber bei jeder Sprache so, die Dynamische Typen hat (z.b. Ruby). Ausserdem kann man bei Objekten den Typ festlegen, es gibt eine strikte Hierarchie, und es gibt Exceptions.
In der umfangreichen Bibliothek kann ich nur Vorteile sehen: Man braucht nicht fuer jeden Misst ein "require/include" zu schreiben oder ein Namespace. Beispiel die String-Bibliothek: Man kann einfach explore(str) schreiben, ohne zuvor eine String-Bibliothek einzubinden. Einen Namespace kann man ja wie in C simulieren, indem man prefixe Benutzt ( MeineLib_explore() ).
Mit Php5 kann man auch sehr guten OOP-Code schreiben, man muss es nur wollen. Php ist aehnlich wie C++ eine Multiparadigmen-Sprache.
PHP(>5): Auch ziemlich mächtig, da es wahnsinnig viele Ressourcen gibt und die Sprache bereits einen riesigen Funktionsumfang enthält. Aber genau da liegt auch das bereits angesprochene Problem: Sehr unaufgeräumt.
Wieso unaufgeraumt? Alle PDF Functions sind mit PDF_, alle Image Functions mit image..., alle MySQL Functions mit mysql_ usw.
-
DEvent schrieb:
Was mich an PHP stört sind zum einen die Tatsache, wie PHP mit Typen umgeht. Wenn die Sprache einem fröhlich einen int nach float, und dann zum String und daraus nach bool konvert, und das ohne mit der Wimper zu zucken, macht mir das ein wenig Angst. Noch schlimmer ist es, wenn man mit Objekten arbeitet. Da ist es, selbst bei sauberer Programmierung, nur eine Frage der Zeit, bis das mal in die Hose geht.
Das ist aber bei jeder Sprache so, die Dynamische Typen hat (z.b. Ruby).
Das is völlig flasch! Du verwechselst dynamische mit schwacher Typisierung. Dynamisch sind zwar die meisten, aber PHP ist im Gegensatz zu Ruby schwach typisiert, das ist ja das Problem.
PHP(>5): Auch ziemlich mächtig, da es wahnsinnig viele Ressourcen gibt und die Sprache bereits einen riesigen Funktionsumfang enthält. Aber genau da liegt auch das bereits angesprochene Problem: Sehr unaufgeräumt.
Wieso unaufgeraumt? Alle PDF Functions sind mit PDF_, alle Image Functions mit image..., alle MySQL Functions mit mysql_ usw.
LOL. Meinst Du das ernst?
-
ich habe bisher die besten erfahrungen mit python gemacht
es gibt zwar nicht so viel wie für php, dafür ist das meiste aber sehr gut
(was man von den meisten php sachen nicht behaupten darf)mit ruby habe ich eher schlechte erfahrugen gemacht, da:
a) noch langsam (wird aber bis spätestens 2009 aufholen)
b) man bei rails doch ganz schön leiden muss, wenn man "von der schiene will"
-
Ich habe mir neulich mal Django angesehen
(Python Framework)
Sieht echt vielversprechend aus
@ DEvent:
Was ist das Problem mit den includes? Und wenn man »echte« Namensräume hat braucht man auch nicht mit Prefixen improvisieren
-
django ist nur für einfache crud sachen gut
alles was komplex ist, ist mit django qualvoll
-
árn[y]ék schrieb:
Du hast den Sinn von Interpretersprachen nicht wirklich verstanden, huh?
Was hindert es einen Apache-Server den Php-Code den ich ihm vorwerfe zu compilieren, das compilierte dann zu cachen und jedesmal wenn es gebraucht wird auszufuehren? Aber nein das geht ja nicht, denn Php ist per Definition eine Interpretersprache und wir wollen doch keine Definitionen kaputt machen
Der Rest ist Geschmackssache. Ich mag es nicht fuer jede Funktion die ich verwenden will, erstmal eine Lib includieren zu muessen. Man kann auch in Php einen sauberen Code schreiben, man muss es halt wollen.
-
DEvent schrieb:
Man kann auch in Php einen sauberen Code schreiben, man muss es halt wollen.
PHP hat leider eine lange Historie der Unsicherheitsphilosophie. Bei PHP4 hätte der Unfug "Register Globals" abgeschafft werden müssen. Wer solche fundamentalen Designfehler in einer Programmierumgebung bestehen läßt, dem ist wirklich nicht mehr zu helfen. Ich kann niemanden verstehen, der mit so einem ***** freiwillig Programme schreiben will. Selbst bei vorsichtigster Programmierung ist man bei PHP eben nicht sicher, daß nicht irgend ein Pfuscher, der Komponenten für PHP liefert, nicht wieder irgend einen Exploit aus Unwissenheit in PHP eingebaut hat.
Wenn man sich die Exploits für PHP selbst und für PHP Anwendungen anschaut, dann ist die Liste überproportional lang. Und leider ist das im Lauf der Zeit nicht wirklich besser geworden. Wer PHP freiwillig verwenden will soll das tun, nur zweifle ich an dessen Fähigkeiten als Programmierer.
-
DEvent schrieb:
árn[y]ék schrieb:
Du hast den Sinn von Interpretersprachen nicht wirklich verstanden, huh?
Was hindert es einen Apache-Server den Php-Code den ich ihm vorwerfe zu compilieren, das compilierte dann zu cachen und jedesmal wenn es gebraucht wird auszufuehren? Aber nein das geht ja nicht, denn Php ist per Definition eine Interpretersprache und wir wollen doch keine Definitionen kaputt machen
Das, worauf sich meine Aussage bezog, war der Sinn der Interpretersprache. Damit meinte ich hauptsächlich (okay, das ich jetzt stark eingrenzend, aber man weiß, wie es gemeint ist), die Dynamik in der Entwicklung. Du änderst ein Skript, und es läuft, ohne dass du es jedes Mal rekompilieren musst.
Wenn nun der Apache meint, er muss das Script kompilieren und cachen, dann führt er dennoch eine Überprüfung durch, ob sich das Skript seit dem Zeitpunkt des Kompilierens geändert hat. Falls ja, wird es neu kompiliert und gecached. Das, was ich mit "Sinn" meinte (die Dynamik) hat sich für den Programmierer (und den Endanwender) also in keinster Weise verändert. Where's the problem?