Vor knapp zwei Jahren habe ich mir diese Frage im Eintrag »Sorgenkind PHP« schon einmal gestellt. Seit dem hat sich leider kaum etwas getan: PHP 5.2 war 2006 die aktuellste Version und ist es immer noch, obwohl man damals davon ausging, dass PHP 6 im Laufe des Jahres 2007 erscheinen würde.

Die Entwicklung geht nur schleppend voran. Eigentlich sollte letzte Woche die finale Version 5.3 erscheinen, aber stattdessen kam nur die Alpha 3. Nun wird erste Quartal 2009 als Termin genannt. Momentan glaube ich eher, dass dann erst die Beta-Phase beginnt. An PHP 6 ist momentan gar nicht zu denken.

Sicher bringt 5.3 auch schon viele Neuerungen, u.a. Namespaces und Geschwindigkeitssteigerungen von bis zu 30%, aber langsam bin ich das Warten leid. Probleme wie die nicht einheitliche Namensgebung von integrierten Funktionen/Methoden und Klassen, nicht durchgängige Objektorientierung im Core und in vorhandenen Extensions und vor allem viele sicherheitsrelevante Dinge wie die Typisierung von skalaren Variablen bzw. Parametern oder bessere Möglichkeiten, Benutzereingaben zu kontrollieren, fehlen PHP einfach.

Zwar gibt es für viele dieser Probleme Lösungen durch Frameworks, Extensions oder Tricks. Wirklich zufriedenstellend ist das aber nicht. Andere Sprachen haben dieses Features von Haus aus implementiert und entwickeln sich ständig weiter.

PHP verliert mehr und mehr an Anschluss, wird aber trotzdem erfolgreich bleiben. Objektorientierte Programmierung ist kein Muss, Fehler werden großzügig verziehen und selbst der mieseste Schrottcode, liefert noch brauchbare Ergebnisse. Besonders letzteres ist ein Problem, aber zugleich auch der Grund für den anhaltenden Erfolg. Man muss nicht verstehen, was man programmiert, es funktioniert ja meist auch so.

Ich bin dafür, einen zweiten Entwicklungszweig für PHP einzuführen. Der erste wird so weitergeführt wie bisher, also Script-Kiddie-freundlich ausgerichtet und der andere wird von Grund auf neu entwickelt – mit allen Features, die eine moderne objektorientierte Sprache im Hinblick auf dynamische Websites braucht. Damit wären die Probleme gelöst und PHP bleibt trotzdem »einsteigerfreundlich«.

  • Dominik Jungowski
  • http://www.phpdevblog.net Dominik Jungowski

    Öh, der leere Kommentar sollte da eigentlich nicht sein :D

    Zum Thema: Die aktuelle Version ist PHP 5.2.8! Die ist glaub ich erst gestern erschienen, nachdem 5.2.7 letzte Woche ja das Debakel schlechthin ist.

    PHP6 verzögert sich eigentlich hauptsächlich wegen dem Unicode Support so stark.
    Zum Rest geb ich dir total recht. Auf der PHP Conference wurde das Thema in einem Speakerpanel auch angesprochen, da hat dann u.a. der Release Manager gemeint, das würde “zu viele Applikationen brechen”, wenn man endlich mal aufräumen würde (einheitliche Funktionsnamen, durchgehend gleiche Parameterfolgen (ich sag nur haystack, needle!)) und er hat auch allen ernstes behauptet, dass PHP Projekte sowieso meistens nur ein paar Wochen dauern. Äh, ja klar.

    Solange da kein Umdenken anfängt, befürchte ich wird sich an der Stelle nicht viel tun. Was fehlt ist vielleicht nicht mal unbedingt ein zweiter Entwicklungszweig, sondern eine gute Konkurrenz. Bei den Browsern hat das ja auch bestens geklappt, siehe Javascript Weiterentwicklung dank Chrome.

  • http://www.madcatswelt.org MadCat

    Ich muss dieses Event für Enter rausnehmen. Das nervt ja nur noch. :ugly:

    Na ja, welche Konkurrenz hat PHP schon? Ruby on Rails ist eine tolle Sache, aber dafür muss man OOP gefressen haben, sonst hat man keine Chance. Gleiches gilt für ASP.NET und da kommt noch das Problem Windows-Webserver hinzu.

    Perl tut sich kaum noch einer im Web an; ColdFusion und JSP zielen ganz klar auf den Enterprise-Bereich ab.

    PHP ist einfach zu idiotenfreundlich, um Konkurrenz zu kriegen.

  • robert
  • http://openserv.org robert

    Hallo,

    also “Perl tut sich kaum noch einer im Web an”. DAS würde ich nicht unterschreiben!

    Hier eine Liste von Seiten die Catalyst, ein Framework in Perl für webseiten, nutzen:
    http://dev.catalystframework.org/wiki/SitesRunningCatalyst

    Hier tauchen auch immer ein paar gute Stories auf:
    http://www.oreillynet.com/pub/a/oreilly/perl/news/success_stories.html

    Ich Entwickel in der letzten zeit viel mit Catalyst (http://www.catalystframework.org/) und muss sagen das es um einiges einfacher ist als mit PHP! Da ich nicht alles von Hand machen muss. Man kann auch auf allen CPAN Ressourcen zugreifen.

    Gruss

    Robert

    PS.: Solltest mal ne Prüfung einbauen das man keine Leeren Kommentare schreiben kann. Bin auf Enter gekommen vorher :(

  • http://openserv.org robert

    Ach ja noch was: Amazon , Google…. ist alles Perl im background! Ach ja auch youp***(da ist es catalyst) ;)