La parole est aux speakers : Gina Banyard

Publié le

Jusqu’au Forum PHP 2024, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

PHP: Particularly Horrible Programs

PHP est votre outil de prédilection, mais est-ce-que vous connaissez vraiment PHP ?

Dans ce talk ludique et bon enfant on explorera les bizarreries du langage, des comportements incompréhensibles, et des choses techniquement faisables mais peu recommandables qui auront le don de vous surprendre.

Ballroom Johnson / ABCDEF
10/10/2024
16:50-17:30

Tu as présenté « PHP: Particularly Horrible Programs » lors de l’AFUP Day 2024 Lille, et ta conférence a beaucoup fait rire la salle. Tu t’attendais à ces réactions en préparant ce talk ?

C’était un peu l’objectif de la conférence, donc je suis assez contente que ça ait fait rire la salle !
Beaucoup de gens avaient apprécié le fait que je moque un peu de PHP dans la version étendue de ma conférence sur le système de typage de PHP.
Donc, je me suis dite pourquoi pas une conférence entière dédiée à ça, surtout que je trouve le lightning talk « Wat » de Destroy All Software extrêmement drôle !

À ton avis, pourquoi les monades sont-elles aussi peu utilisées dans le monde PHP ?

Je pense qu’il y a plusieurs raisons pour ça, mais principalement, c’est que PHP n’offre pas (du moins pour le moment) les outils nécessaires pour les implémenter correctement. En particulier, PHP ne supporte pas les types génériques, ni les ADTs (Algebraic Data Types).

Une autre raison, c’est que le concept est décrit de manière abstraite, ce qui a du sens vu que c’est un concept très générique, avec un vocabulaire mathématique qui n’est pas forcément à la portée de tout le monde.

J’espère que ma conférence va démystifier le concept, même si après avoir été à SPLV 2024 et appris le concept d’un langage de programmation qui peut gérer les effets via un « Effect Handler » extrêmement intéressant vu que ça résout certains problèmes qu’engendrent l’utilisation des monades.

Tes conférences sont souvent proches du coeur du moteur PHP. Pour chacune de tes conférences de cette année, quel curseur as-tu souhaité mettre sur le niveau technique ?

Pour « PHP: Pretty Horrible Programs » j’ai voulu montrer des cas concrets de choses absurdes que le moteur de PHP est capable de faire, et même si ce sont des situations qui n’arrivent jamais dans l’écriture de code professionnel, c’est des choses que nous devons maintenir ou décider de rendre obsolètes, et qui peuvent impacter le développement du langage en lui-même.

Pour la conférence sur les monades, l’objectif est de présenter un design pattern qui peut être une solution élégante à un problème donné, même si PHP ne rend pas son utilisation facile.

Peux-tu partager un exemple concret d’une situation où PHP permet techniquement quelque chose qui pourrait être réalisé, mais qui est déconseillé ?

PHP est un langage de programmation généraliste qui est utilisé pour énormément de choses. Bien-sûr, il est utilisé pour des petits sites web ou des géants du web tel que Etsy, Vimeo, ou Mercari. Mais PHP est aussi utilisé en dehors du web, par exemple Nextcloud, une suite client-serveur utilisée par de nombreux gouvernements pour remplacer Office 365. Ou pour des serveurs de jeux vidéos, chose beaucoup faite au Japon, mais pas que. PHP gère des transactions financières, et on m’a même dit que c’est à bord de certain vol long courrier pour gérer le divertissement en vol ! Et il y a continuellement des nouveaux projets open-source pour utiliser PHP pour plein de nouvelles choses qui apparaissent continuellement, comme pour faire du machine learning, un moteur de rendu 3D, un émulateur CHIP-8, un serveur de streaming pour la musique, exécuter du PHP dans un pilote kernel, et plus encore.

Chaque personne aura sa propre opinion pour dire si PHP est/était le bon outil en question pour créer cette application.

Après si c’est pour un exemple concret de ce que le moteur de PHP permet de réaliser, mais qui est déconseillé, j’ai envie de dire, il faut venir voir la conférence « PHP: Pretty Horrible Programs » !

Une conférence présentée par

Gina BANYARD
Gina BANYARD
Gina est financée par la PHP Foundation pour maintenir et améliorer PHP. Elle maintient aussi régulièrement la documentation de PHP et est en charge de la traduction française de celle-ci.

Autres intervenants