Das kommende PHP 7 wird viele bestehende Installationen und Erweiterungen kaputtmachen, die Sprache aber auch wesentlich beschleunigen. Das zeigt ein Ausblick auf der Fosdem. Großen Anteil daran hat Facebook - allerdings anders, als zu erwarten wäre.
Ob einige der neuen Funktionen in PHP 7 durch die Community von Facebook übernommen worden sind oder ob diese zufällig die gleichen Ideen umsetzten, weil die eben gut sind, ist laut der Entwicklerin Sara Golemon schwer zu beurteilen. Zwar spreche vieles gegen eine Koinzidenz, trägt die Facebook-Angestellte auf der Fosdem mit viel Ironie vor, sie wolle dies aber auch nicht gänzlich ausschließen.
überzeugt ist sie jedoch davon, dass die starke Konkurrenz mit der HHVM und dem PHP-Dialekt Hack die Entwicklung der neuen Sprachgeneration zumindest deutlich anrege. Dies sei zudem ein freundliches Rennen gegeneinander, da zwei Laufzeitumgebungen miteinander konkurrierten.
Doch statt sich nur um Neuerungen zu kümmern, hat sich die Community dazu entschlossen, die Programmiersprache einem "Frühjahrsputz" zu unterziehen, wie es Golemon nennt. So wurden einige Funktionen komplett entfernt, wie auch Schnittstellen zu nicht mehr gepflegter Software. Darüber hinaus ist die Syntax von Variablen vereinheitlicht worden, wodurch sich die Semantik bestimmter Ausdrücke ändert.
Dieser Bruch zur alten Generation ist von den Entwicklern gewollt, da sich dies aus ihrer Sicht mit dem Wechsel auf PHP 7 leicht umsetzen lässt. Die schlechte Nachricht daran sei aber, dass die meisten PHP-Erweiterungen wohl aufwendig angepasst werden müssten. Bei besonders komplexer Software sei eventuell sogar ein Neuschreiben einfacher, vermutet Golemon.
Doch PHP 7 soll den Programmierern auch viele nützliche Neuerungen bringen. Dazu zählt etwa die ausreichende Unterstützung für Unicode. Dies sollte eigentlich mit PHP 6 tief in die Sprache eingebaut werden, wurde aber nie umgesetzt. Wohl weil dies ein rein akademischer Ansatz gewesen sei, was der Community nicht entsprochen habe, so Golemon.
Um Verwirrung zu vermeiden wird Version 6, die nie erschienen ist, einfach übersprungen. Dank Escape-Sequenzen im Code sollen dennoch Unicode-Zeichen genutzt werden können, zur Kodierung wird UTF-8 verwendet. Eine sprechende Syntax wie etwa SNOWMAN, in der die Namen der Unicode-Zeichen benutzt werden können, wird ebenfalls diskutiert. Eine Klasse zum Umgang mit den Zeichen kann auch verwendet werden.
In PHP 7 kann die Möglichkeit genutzt werden, dem Rückgabewert einer Funktion einen Typen zuzuordnen. Diskutiert wird zurzeit noch die genaue Funktionsweise bei der Verwendung der skalaren Typen Int, Float, String und Bool. Big-Ints sollen ebenfalls unterstützt werden. Zudem ist die interne Datenstruktur für alle Variablen - der Zvals - überarbeitet worden. Diese verzichten nun auf eine Referenzzählung, und auch Arrays werden anders implementiert, was zu deutlich reduziertem Speicherbedarf führen soll.
Insbesondere das neue Typensystem ist wahrscheinlich eine Anleihe aus Facebooks Hack, weshalb Golemon davon ausgeht, dass diese übernahmen weiter ausgebaut werden könnten. Immerhin bietet Hack eine deutlich größere Typenvielfalt und erlaubt zusätzlich zu den Neuerungen in PHP 7 auch Typendefinitionen, typisierte Konstanten, generische Typen in Klassen oder auch die Spezifizierung von Arrays eines bestimmten Typen.
In Hack lassen sich spezielle Array-Objekte wie Vector, Set und Map samt dazugehöriger Funktionen verwenden. Eine Lambda-Syntax wird ebenfalls unterstützt. Viele der Funktionen von Hack würden auch in der PHP-Community zur Umsetzung diskutiert. über den Fortschritt dieser Diskussionen zeigt sich Golemon aber wenig erfreut, da diese teils sehr schleppend vorangingen, etwa jene zu den skalaren Typen.
Facebook kann zumindest für Hack seinen Vorteil nutzen, die Sprache ohne große Diskussionen weiterzuentwickeln. Da die HHVM aber weiterhin auch explizit Standard-PHP-Code ausführen können soll, ist das Unternehmen interessiert daran, dass sich seine eigenen Entwicklungen nicht zu sehr von PHP unterscheiden. Vermutlich deshalb ist auch erstmals im vergangenen Jahr eine Sprachspezifikation durch Facebook erstellt worden.
Doch auch wenn PHP alle Neuheiten aus Hack übernehmen sollte und die Sprachen sich wieder anglichen, bleibe immer noch ein deutlicher Raum für Verbesserungen, glaubt Golemon. Eine detaillierte Liste weiterer geplanter änderungen stellt das Projekt in seinem Wiki bereit.
Wisst ihr noch, früher... da wo man mit dem Rechenschieber da gesessen ist und 1 und 1 zusammen zählte?
Wisst ihr noch, dass wir alle diese kleinen Dinger an dem Rechenschieber "Kugeln" nannten?
Heute gibt es 30 verschiedene Namen für eine Sache und Niemand weiß irgendwie so genau, was der Andere meint...
Schön, wenn das wieder mal wird, dass wir alle die gleiche Sprache sprechen und eine einheitliche Benennung haben für Variablen uvm.
B3W... Schönen Tag noch :D
Den PHP Elefanten gibts übrigens hier:
http://get-elephpant.com/
:D
Da merkt man erstmal, was für einen. Einfluss Facebook auf das Internet hat. Bald heisst es nicht mehr internet sondern interbook oder facenet.
Du machst mir Angst Tunes!
Hoffentlich hat Mark Zuckerberg das jetzt nicht gelesen welche Idee du hast und er baut ein eigenes Internet (Netzwerk) neben dem jetzigen auf, wo man nur als FB-User rein kommt und dort Webseiten darstellen lassen kann...
*Akte X-Musik im Kopf höre* :D