PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Interview mit Sebastian Bergmann und Stefan Priebsch (inkl. Buchverlosung)

with 53 comments

Heute mal etwas neues: Ich durfte ein Interview mit den beiden PHP-Experten Stefan Priebsch und Sebastian Bergmann führen, ich hoffe ich habe einige interessante Fragen an die beiden stellen können. Viel Spass beim Lesen!

Michael: Hallo Sebastian, hallo Stefan, erst einmal vielen Dank, dass ich mit Euch dieses Interview führen darf. Außerdem vielen Dank für Eure PHP-Tools und Vorträge, mit denen unser aller Leben einfacher und unser PHP-Code qualitativ hochwertiger wird. Könnt Ihr euch bitte kurz in drei Sätzen vorstellen?

Sebastian: Stefan und ich sind zwei der drei Gründer von thePHP.cc, einem Beratungsunternehmen für PHP und verwandte Technolgien. Qualitätssicherung ist mein Business. Meine Partner und ich decken zusammen alle Felder ab, die bei PHP für Kopfschmerzen sorgen können.

Stefan: Ich bin wie Sebastian Diplom-Informatiker. Meine Spezialgebiete sind skalierbare und performante Softwarearchitekturen sowie OOP. Als Vater von Zwillingen beschäftige ich mich auch privat intensiv mit Skalierungsproblemen.

Michael: Meine erste Frage geht an Sebastian: Wie aufgeregt bist Du bei der Veröffentlichung einer neuen Version von PHPUnit?

Sebastian: Bei einem neuen Release von PHPUnit, vor Kurzem ist ja bspw. PHPUnit 3.7 veröffentlicht worden, bin ich nicht wirklich aufgeregt. PHPUnit ist — welch‘ Überraschung — gut getestet. Dafür sorgt nicht nur die eigentlich kleine Testsuite von PHPUnit (ja, PHPUnit testet sich selbst), sondern vor allem die Tatsache, dass vor einem Release die Testsuiten zahlreicher Open Source Projekte wie Doctrine, Symfony und Zend Framework mit der neuen Version ausgeführt werden.

Michael: Wenn Ihr die Begriffe Composer, Jenkins, PHPUnit und PSR-0 ordnen müsstet, wie würde die Reihenfolge aussehen, wenn Ihr sie nach Wichtigkeit sortiert? Auf was würdet Ihr auf keinen Fall mehr verzichten wollen? „Alles“ ist übrigens keine gültige Antwort ;-).

Stefan: PHPUnit ist für uns natürlich gar nicht wegzudenken. Was sollte denn Sebastian mit seiner Freizeit anfangen, wenn es PHPUnit nicht gäbe? Im Ernst: letzen Endes ist PHPUnit „nur“ ein Softwareprodukt und als solches zumindest theoretisch durch eine Alternative ersetzbar. Wir können uns allerdings keine professionelle Softwareentwicklung vorstellen, die auf automatisierte Tests verzichtet.

Sebastian: Dann sage ich jetzt: Jenkins. Wenn man schon automatisierte Tests schreibt, dann sollte man auch den größtmöglichen Nutzen daraus ziehen, indem man erzwingt, dass die Tests für jede Änderung an der Software ausgeführt werden. Wenn man schon dabei ist, dann kann man den Code auch zusätzlich mit verschiedenen Werkzeugen analysieren und die so gewonnenen Daten über die Zeit sammeln und auswerten. Genau diese Arbeit nimmt einem Jenkins ab. Auch hier gilt, dass es alternative Softwareprodukte gibt, das Konzept der kontinuierlichen Integration für die professionelle Softwareentwicklung aber unverzichtbar ist.

Stefan: Composer ist eine zeitgemäßere Lösung als der PEAR Installer, zumal man damit problemlos Bibliotheken und Werkzeuge in unterschiedlichen Versionen für verschiedene Projekte installieren kann. Am Ende des Tages ist das aber auch nur ein automatisierter Download, wobei natürlich Abhängigkeiten zwischen Paketen automatisch aufgelöst werden.

Sebastian: Wir sehen das Problem, das PSR-0 lösen möchte, nämlich „Autoloader Interoperability“, nicht. Man kann in PHP problemlos mehrere Autoloader registrieren. Spätestens beim Deployment möchte man mit einem Werkzeug wie PHPAB einen Autoloader generieren, der eine statische Class Map verwendet. Es gibt keinen technischen Grund dafür, vollqualifizierte Klassennamen und den Speicherort einer Quelltextdatei aneinander zu koppeln. Das schränkt unserer Meinung nach die Entwickler unnötig ein.

Michael: Wie ich gelesen habe, gibt es eine zweite Auflage Eures Buches Softwarequalität in PHP-Projekten. Arbeitet Ihr außerdem aktuell noch an anderen Büchern und worauf dürfen wir uns freuen?

Stefan: Wir sind immer wieder mit Verlagen im Gespräch, teils weil wir als Autoren angefragt werden, teils wir eigene Ideen zur Diskussion stellen. Aktuell gibt es leider kein weiteres Buchprojekt, über das wir heute schon öffentlich sprechen könnten.

Michael: Ich würde mir wünschen, dass mehr Entwickler Zugang zu Praxiswissen wie beispielsweise dem PHP Summit hätten. Habt Ihr schon mal darüber nachgedacht, das als Online-Veranstaltung zu machen, als Google Hangout mit Rückschnittstelle oder „Online-Vorlesung“ à la Udacity? Bei 20 Euro Teilnahmegebühr hättet Ihr sicher sehr viele Teilnehmer (mich inklusive)!

Stefan: Praxiswissen zu vermitteln ist genau das, was thePHP.cc als Unternehmen ausmacht. Natürlich fallen für eine Präsenzveranstaltung einige Kosten an, dennoch ist der PHP Summit für die gebotene Qualität (und Intensität) im Marktvergleich eher günstig. Die Workshops auf dem PHP Summit sind höchst interaktiv, was nicht nur bedeutet, dass wir auf Fragen eingehen, sondern die Teilnehmer bestimmen durch ihr Feedback wesentliche Teile des Inhalts. Hierbei spielt auch non-verbales Feedback eine große Rolle. Als Trainer merke ich beispielsweise, ob die Teilnehmer gerade eher über- oder unterfordert sind. So kann ich Lerninhalte und -tempo entsprechend anpassen. Diese non-verbale Komponente geht bei Online-Veranstaltungen komplett verloren. Ich habe selbst schon mehrere Webinare gehalten und empfand es eher frustrierend, meinem Bildschirm PHP zu erklären.

Michael: Nils Langner hat Dich, Sebastian, 2008 gefragt:
Du bist viel in beratender Tätigkeit unterwegs und so bleibt es einem natürlich nicht erspart, viele Projekte gesehen zu haben. Hand aufs Herz, ist es oft der Fall, dass man denkt: „Meine Güte, unglaublich, dass man auf diese Art eine so umfangreiche Software schreiben konnte.“

Würdest Du die Frage 2012 noch genauso beantworten? Wie „gut“ sieht PHP-Code bei Deinen Kunden 2012 aus?

Sebastian: Leider treffe ich noch immer hin und wieder auf eine Code-Basis, deren Ursprünge noch in der PHP-3-Zeit liegen. Dieser alte Code sieht natürlich heute noch genauso schlimm aus wie 2008. Allerdings können heute die meisten Teams die Qualität einer solchen Codebasis realistischer einschätzen als damals.

Michael: Stefan, Du beschäftigst Dich viel mit Architekturen. Die letzte Frage aufgreifend, was sind Deiner Meinung nach heutzutage die größten und am häufigsten gemachten Fehler bei Architekturen?

Stefan: Der größte und leider am häufigsten gemachte Fehler ist, dass über Architektur gar nicht oder viel zu wenig nachgedacht wird. Oftmals werden auch Skalierungsaspekte falsch bewertet. Ein junges Startup braucht keine Facebook-Architektur — und kann sich diese auch gar nicht leisten. Auf der anderen Seite stößt man mit einer monolithischen, datenbank-zentrischen Architektur schnell an Grenzen, wenn das Business wächst.

Michael: Da Ihr weltweit unterwegs seid, würde es mich interessieren, ob Ihr zwischen den verschiedenen Kontinenten bei der Code-Qualität ein Gefälle erkennen könnt? Wie würdet Ihr beispielsweise Europa und Amerika, Europa und Asien oder die USA und Deutschland vergleichen?

Stefan: Die von uns in Firmen wahrgenommene Softwarequalität variiert auch innerhalb eines Landes stark. Daher können wir nicht wirklich von einem Gefälle der Softwarequalität zwischen Ländern oder gar Kontinenten sprechen. Letztlich sind die zu lösenden Probleme ähnlich, egal an welchem Ende der Welt ein Team sitzt …

Sebastian: … im letzten Jahr waren wir auf einer Konferenz in Indien. Dort haben Firmen zehntausende PHP-Entwickler, die im Drei-Schicht-Betrieb rund um die Uhr arbeiten. Auf Qualität und Nachhaltigkeit wird dort leider noch kein Wert gelegt; im Zweifel wird die Software eben neu geschrieben.

Michael: Da PHPUnit nach dem Vorbild JUnit und anderer bestehender Test-Frameworks entstanden ist und auch PHPMD und PHP_Depend sehr wichtige Tools für uns Entwickler sind, wäre es interessant zu wissen, ob es andere (Qualitäts-)Tools aus anderen Sprachen gibt, die für PHP noch fehlen und die es dringend bräuchte?

Sebastian: Aufgrund der dynamischen Typisierung von PHP ist es leider nicht möglich, sämtliche Verfahren der statischen Codeanalyse vollumfänglich auf PHP-Code anzuwenden. Persönlich wünsche ich mir jedoch vor allem Verbesserungen bei der Code Coverage-Analyse. Momentan kann diese nur auf Zeilenebene erfolgen, wünschenswert wäre mindestens Code Coverage auf Statement-Ebene.

Michael: Ist das Thema HipHop für die meisten Firmen vom Tisch oder wird es irgendwo sonst außer bei Facebook produktiv eingesetzt?

Stefan: HipHop ist eine sehr coole Lösung für Probleme, die außer Facebook nur sehr wenige Firmen haben. Trotzdem ist es schön, dass es als Open Source verfügbar ist …

Sebastian: … genau, weil man nämlich HipHop für die statische Analyse von PHP-Code verwenden kann. Die Type Inference, die für die Transformation von PHP- in C++-Code benötigt wird, löst in Ansätzen die Probleme, die ich vorhin angesprochen habe.

Michael: Was können wir tun, um die Adoption von PHP 5.4 zu beschleunigen, denn auch nach über einem halben Jahr haben nur gefühlte 10% die neue Version im Einsatz?

Stefan: Das PHP Development Team hat hierfür eine wichtige Voraussetzung geschaffen, indem die Lebensdauer jeder älteren Version klar begrenzt wurde.

Sebastian: Wenn wir es jetzt auch noch schaffen, die fixen Releasezyklen einzuhalten, dann haben wir die Voraussetzung dafür geschaffen, das neue PHP-Versionen zeitnah in die verschiedenen Linux-Distributionen aufgenommen werden.

Michael: Wie könnte man Eurer Meinung nach Firmen und Konzerne, die stark auf PHP setzen und davon profitieren, dazu bewegen, dem Projekt etwas zurückzugeben? Beispielsweise könnten sie ja eine Vollzeitstelle schaffen, um an PHP zu arbeiten und zu helfen, die Sprache weiterzuentwickeln.

Stefan: Das Modell, die PHP-Entwicklung durch von Firmen bezahlte Entwickler zu fördern, gab es in der Vergangenheit bereits. Dabei gab es immer wieder Interessenskonflikte, die beispielsweise an dem Chaos rund um die Unicode-Unterstützung in PHP 6 nicht ganz unschuldig waren.

Sebastian: Andere Projekte wie beispielsweise TYPO3 werden von einer Stiftung finanziert. Es wäre herauszufinden, ob ein solcher Ansatz auch für PHP funktionieren könnte.

Michael: Danke, dass ihr Euch für meine Fragen Zeit genommen habt. Ich freue mich bereits auf PHPUnit 4, sowie Vorträge und Folien auf den nächsten Konferenzen. Danke für alles, was Ihr für die PHP-Community macht!

.

Vom Hanser Verlag gesponsort kann ich ein Exemplar des angesprochenen Buches Softwarequalität in PHP-Projekten im Wert von 49,90€ an euch verlosen! Schreibt einfach einen kurzen Kommentar und ihr landet in der Lostrommel. Der Gewinner wird am 29.10.2012 gezogen.

Ein großes Dankeschön auch hier noch mal an Stefan und Sebastian für die Antworten, und Sarah vom Hanser Verlag für das Buch! Viel Glück bei der Verlosung!

Written by Michael Kliewe

Oktober 18th, 2012 at 9:40 am

53 Responses to 'Interview mit Sebastian Bergmann und Stefan Priebsch (inkl. Buchverlosung)'

Subscribe to comments with RSS or TrackBack to 'Interview mit Sebastian Bergmann und Stefan Priebsch (inkl. Buchverlosung)'.

  1. wir sind auch gern dabei, grüße vom Schwabenlande

    Robert

    25 Okt 12 at 19:20

  2. klasse Beitrag, mit Interesse gelesen und gerne bei der Aktion dabei!

    Dirk

    27 Okt 12 at 18:40

  3. Danke, ein sehr interessantes Interview!

    Jörg

    29 Okt 12 at 08:16

Leave a Reply

You can add images to your comment by clicking here.