La parole est aux speakers : George Banyard

Publié le

Jusqu’au Forum PHP 2022, 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

Typage en PHP comment ça fonctionne ?

PHP est un langage qui a été conçu sans système de typage mais dont un a été introduit au fur et à mesure.

Dans ce talk nous ferons une exploration en profondeur du système de typage de PHP: 

  • Les différents types disponibles
  • La représentations des types en internes 
  • Comment PHP valide et coerce les types lors de l'exécution
  • Comment PHP assure la compatibilité des types entres classes enfants et parentes (Liskov Substitution Principle)
Ballroom GHJKLM - Katherine Johnson
14/10/2022
10:30-11:10

Tu es core contributeur de PHP. Qu’est-ce qui t’a poussé à le devenir ? Et quel est le plus grand challenge à contribuer à un projet ayant des dizaines d’années d’existence ?

Mon parcours pour devenir core contributeur est assez atypique je pense. À cause de raison personnelle, j’ai dû redoubler ma première année de licence, et donc j’avais beaucoup de temps sous la main.

J’avais commencé par participer à la traduction française de la documentation, qui était loin d’être à jour, et le fait de lire la doc en profondeur m’a fait découvrir des comportements exotiques et assez étranges de PHP que je voulais changer.

Il y a différents aspects : d’un côté il y a l’aspect technique de la codebase. Par exemple quand j’ai commencé à contribuer en 2019, php-src utilisait encore ANSI C/C89, ce qui veut dire pas de type bool et qu’on devait polyfill certaines fonctions (notamment mathématiques) qui ne sont disponibles qu’à partir de C99, au cas où quelqu’un compilait avec un compilateur ANSI. php-src est aussi remplie de macro et de structure qui perdent les IDEs quasiment tout le temps, et découvrir les outils qui permettent de naviguer la codebase (comme LXR).

L’autre aspect c’est l’aspect « social » : PHP existe depuis longtemps et est utilisé par une multitude de gens qui l’utilise de manière différentes. Il faut donc convaincre différents groupes du changement que l’on veut proposer, sur l’idée elle-même, à son implémentation spécifique.

Tu viens de terminer un bachelor en math pure à Imperial College London. C’est un débat récurrent en programmation : les maths t’aident-elles à travailler sur le code source de PHP et globalement à programmer ?

Globalement je pense pas, je connais beaucoup de gens qui sont brillants en maths et sont incapable de faire de la programmation et vice versa.

Il y a peut-être un avantage pour la programmation fonctionnelle, et encore la plupart des étudiant.e.s, moi inclus, ne feront jamais de la théorie de catégorie à qui dire « une monade c’est une monoïde dans la catégorie des endofoncteurs » reste incompréhensible.

En ce qui concerne PHP, je pense que ça me donne une perspective différente et m’a sûrement aidé pour implémenter les types d’intersection. Plus généralement, ça me fait sûrement implémenter plus de code qui n’a pas d’effets de bord.
Mais je pense que faire une licence en informatique théorique aurait été plus avantageux pour comprendre tout ce qui est compilateur, lexeur et machines virtuelles.

Tu fais maintenant partie de la fondation PHP. Qu’est-ce que ça a changé pour toi ?

Principalement le fait que je suis désormais payé pour travailler sur PHP. Mais l’autre avantage c’est que j’ai des collègues à qui je peux demander des code reviews, demander de l’aide et discuter sans me soucier du fait que je prends sur le temps libre de quelqu’un pour faire ces reviews.

Une conférence présentée par

George BANYARD
George BANYARD
George est actuellement sous contrat à temps partiel avec la fondation PHP pour maintenir PHP. Il participe aussi à la documentation et il est le mainteneur principal de la documentation française en ce moment. Il vient de terminer son Bachelor en math pure à l'Imperial College London.

Autres interviews