Il ne s'agit donc pas d'une interview en tant que tel, du fait de l'aspect temps réel, mais il en est tout de même ressortie des choses intéressantes.
Ainsi, Pierrick, aka adoy sur IRC, et Guilherme ont mis pour le moment entre parenthèse le développement de leur implémentation, qui consiste à permettre l'utilisation des annotations via la reflection de PHP.
Bien évidement, ils sont très déçus de l'accueil qui a été fait à leur proposition, et surtout, ils regrettent qu'il n'y est eu pratiquement aucune suggestion pour l'améliorer.
Pour autant, ils gardent le moral et acceptent totalement la situation.
<adoy> je le vis bien :) C'est ça le monde de l'open-source :)
Pierrick considère pourtant que leur solution technique ne sera jamais intégrée à PHP, vu que les développeurs principaux du langage refuse totalement d'y intégrer une nouvelle forme de syntaxe, absolument nécessaire dans le cas des annotations.
<adoy> si les membres du core ne sont pas pour intégrer une nouvelle syntaxe, ça ne sers a rien :)
Il avoue également avec beaucoup d'ironie avoir été quelque peu amusé
de certaines remarques.
Malgré tout, il remercie ceux qui les ont soutenu, et plus particulièrement Pierre Joye, qui a activement milité, avec quelques autres, pour que les annotations soient intégrées comme une structure spécifique dans le langage, et non comme des commentaires respectant un formatage particulier à la docblock.
En parlant du format docblock, Pierrick se refuse à proposer une solution basée sur ce principe, malgré le fait que le mettre en œuvre permettrait de proposer les annotations sous la forme d'une extension.
<adoy> Je trouve inconcevable que des parties intégrantes du code soient dans des commentaires !
Pour en terminer avec les annotations, Pierrick regrette également le peu de pertinence du vote qui a décidé du sort de sa solution, ainsi que le fait que les gens qui étaient en leur faveur n'est justement pas voté.
<adoy> Ce qui est dommage c'est que tous ceux qui ont fait des commentaires positifs sur les annotations n'ont pas voté.
Cependant, Pierrick et Guilherme sont parvenus a lancer le sujet, et même si une autre voie semble pour l'instant avoir été choisie pour implémenter les annotations dans PHP, ils sont prêt à l'accepter, même si leur solution n'est pas retenue.
<adoy> Que ce sois mon implémentation ou une autre ca me va :) Je ne dis pas que ce que j'ai fais est parfait
<adoy> Mais c'est un début et je suis sur que ça pourrais être repris :)
Nous avons ensuite discuté de la communauté des développeurs de PHP, et malheureusement, j'ai pu constaté que nous avons le même avis sur ce sujet.
<adoy> Je trouve que la communauté PHP est malheureusement trop fermée
<adoy> et que c'est TRÈS DUR de s'y intégrer.
Il considère également qu'il est très difficile de suivre les débats sur internals@, car ils ne sont pas structurés, et que le système de la liste de diffusion n'est pas le mieux adapté pour ce genre de chose.
<adoy> Tu regardes le vote ... La question c'était au début pour ou contre les annotations
<adoy> et ça a complètement dérivé
<adoy> à la fin les gens faisait +1 pour docblock !
La discussion a donc été très intéressante, malgré le fait que j'ai malheureusement eu la confirmation que les annotations telles qu'elles ont été présentées par Pierrick et Guilherme ont peu de chance d'être un jour intégrées au langage.
Donc si vous voulez que les annotations ne soient pas un commentaire dans votre code source PHP, mais bien une entité à part entière du langage, je vous invite à le faire savoir à Pierrick et Guilherme, afin qu'ils aient la motivation suffisante et le courage nécessaire pour retourner au charbon.
10 réactions
1 De deadalnix - 03/10/2010, 22:51
Peut-on avoir des infos supplémentaires sur la proposition de Pierrick et Guilherme ?
2 De parweb - 03/10/2010, 23:58
bonjour,
j'ai recherché à droite et à gauche ce que c'était en gros les annotations et leur intérêt dans un programme et en particulier PHP. Mais j'ai rien trouvé qui répondais a mes questions de maniere claire :/
Alors est ce que quelqu'un pourrait m'éclairer sur se sujet en me donnant un exemple simple pour en saisir l'intérêt et du coup je pourrait mieux comprendre ce que c'est
merci
parweb
3 De mageekguy - 04/10/2010, 07:06
@deadalnix : Le lien sur la RFC correspondante est au début de l'article, mais comme c'est lundi, je fais un effort : http://wiki.php.net/rfc/annotations.
4 De mageekguy - 04/10/2010, 07:09
@parweb : Wikipedia est ton ami.
L'intérêt des annotations varie suivant les développeurs et le contexte de développement.
Doctrine 2, dont Guilherme est l'auteur, s'en sert de manière intensive pour décrire les relations entre les objets/tables, par exemple.
Le comportement de PHPUnit peut également être influencé via des annotations.
Tu as maintenant quelques pistes...
5 De jpauli - 04/10/2010, 09:41
Comme dit le patch est toujours là, un jour p-e ce sera intégré.
L'essentiel est que le travail ne soit pas perdu et qu'on puisse en faire éventuellement une extension pour les intéressés.
6 De Renaud - 04/10/2010, 09:45
Personnellement je trouve très moche les annotations telles qu'elles sont proposées.
Je ne trouve pas ça très lisible...MAIS... Je suis quand même tout à fait d'accord, il faut que ce soit une structure du langage et non des commentaires.
J'encourage donc les 2 auteurs à continuer leur projet, à le retravailler peut-être, mais en tout cas à ne pas laisser tomber !
7 De metagoto - 04/10/2010, 16:24
Trois semaines de débats c'est peu au regard des nouveautés et du "choc culturel" que les annotations apportent.
A mon avis le camp en faveur des annotations telles que proposées par Guilherme et Pierrick n'a pas assez fait preuve de pédagogie. J'ai suivi les discussions dans la liste de diffusion. Je suis conscient que beaucoup d'efforts ont été promulgués pour répondre point par point aux interrogations et objections qui fusaient de toute part. Mais j'ai l'impression que beaucoup d'intervenants considèrent "encore" que les annotations n'ont aucune utilité au delà de servir une minorité d'implémenteurs de frameworks... et qui pourraient se résumer à la team de Sensio Labs (je caricature à peine). Si à ça on rajoute le fait que quelques grosses pointures sont foncièrement opposées à toute introduction de nouvelles constructions syntaxiques et que la RFC des docblocks a rencontré un succès inattendu concernant la problématique des annotations (des docblocks pour des annotations/attributs est une ignominie en ce qui me concerne), je ne suis au final pas étonné que la situation soit bloquée. En apparence tout du moins parce que j'ai du mal à croire que php ne supporte pas un jour quelque chose très proche de ce qui est proposé dans la RFC.
8 De jubianchi - 04/10/2010, 20:27
@parweb tu peux regarder du côté du C# où les annotations sont beaucoup utilisées (on les appelle les "Attributes" : http://msdn.microsoft.com/fr-fr/lib...
Personnellement (et au risque de me répéter), je pense que les annotations peuvent être très utiles pour fournir quelques informations supplémentaires aux classes, méthodes...
Je pense que l'argument de la lisibilité n'est pas fondé (ce n'est que mon avis) : et-il plus simple de lire une méta-donnée rattachée à une fonction ou d'aller inspecter le code à la recherche de cette info qui peut être plus ou moins cachée ?
Ce débat est certainement sans fin, certains sont pour, d'autres contre mais je pense que ces annotations peuvent être une fonctionnalité utile, même si elles ne seront certainement jamais ajoutées...
9 De mageekguy - 04/10/2010, 22:05
@jubianchi : Le gros intérêt des annotations est qu'elles sont exploitables par le code lors de son exécution.
La cible de cette fonctionnalité n'est pas tellement le développeur, mais bien le programme en lui-même, qui peut alors, en fonction du contenu des annotations, adopter un comportement ou un autre.
En résumé, il est possible de dire que les annotations sont un moyen de programmer l'exécution du programme.
10 De jubianchi - 05/10/2010, 09:09
@mageekguy : j'ai bien compris l'intérêt des annotations au niveau de l'exécution mais je pense également qu'elles sont utiles pour simplifier la relecture de certains codes.
Je les utilise très régulièrement dans mes projets en C# et elle me simplifie beaucoup la vie. C'est sur, PHP et C# n'évoluent pas dans le même contexte mais encore une fois je pense qu'elles peuvent apportées beaucoup a notre cher PHP.
Je suis également contre le fait que celles-ci soient introduites dans les commentaires docblock (même si mon implémentation les utilisent de cette manière) mais a défaut d'une meilleure solution, nous ne pouvons les utiliser que de cette manière : les commentaires sont là pour documenter et non pour programmer l'exécution.
Actuellement, ces annotations sont utilisées par une "élite" mais je pense que c'est simplement par manque d'accessibilité et surtout parce qu'aucune doc (à part la RFC proposée) n'existe.