2013/1/10 Rafael Dohms <lis...@rafaeldohms.com.br> > In my humble opinion, if your only "argument" is a -1, the don't be part of > the discussion, but rather be a vote when (and if) the RFC goes to a vote. > > There are 2 moments to express yourself: the discussion, the vote. > > In the discussion phase I believe opinion should be expressed with solid > concerns. Performance issues, bad syntax, is it relevant or not, etc. > A simple "i don't like it" does not add, so it can be ommited. >
«is it relevant or not» => If I can't express my dislike, how can I say that I think something is not relevant? Sorry, but if something seems not good for PHP, any of us should share his thoughts. Because it is pointless to work on RFCs and to write patches if everybody agreed that the functionality is not needed. Discussions are not here just to push new functionalities as far as possible, without arguing if we need them or not, waiting for the vote to be the last safeguard. Well, it's my humble opinion. 2013/1/10 Tyler Sommer <somme...@gmail.com> > Annotations are already a part of PHP. They are widely used in one of the > most prolific frameworks, Symfony, and it's ORM "counterpart" Doctrine. > Both of which are serious drivers of the PHP community. It's > even potentially spreading to Zend Framework: > > http://zend-framework-community.634137.n4.nabble.com/Annotations-own-implementation-or-Doctrine-Commons-td4655427.html > > To say "they shouldn't be part of PHP" is fine, but it's too late for that. > Annotations are already here. Are we going to just ignore this fact and > hold back what a very significant portion of the community wants to see > because it conflicts with some ambiguous master plan for PHP? > Last summer, I heard a talk from Rasmus. He was presenting what's new in PHP. I remember there was something (I don't remember what exactly, sorry) that seems a bit useless. Roughly speaking, Rasmus said that this kind of functionality will not be used by everybody, but the guys who are writing frameworks will love it. This kind of evolution is fine. No problem to add things inside PHP, even if they will be used by few people, as long as it will not change anything for the rest of us. When PHP went OO, I guess everybody agreed. We knew that, from this point, PHP programming will deeply change, because new extensions will be object oriented; but it was not a problem. Yes, object programming became the new proper way to code in PHP, but it was still possible to do without it. When PHP5 went deeply OO, it was not a problem either. Yet it was the beginning of new changes. For example, if I want to use SPL, I will surely have to use objects, interfaces and exceptions. But nobody is forced to do this. When traits came in PHP, again it was not a problem. You can use it, but it's not an obligation. And it doesn't change how everybody should code. There is multiple problems with annotations: - It's a language in the language. A new syntax to learn. It's not in the code, but without it the code have fat chance to work anymore. - It's a parser in the parser. More code to maintain inside PHP engine. Maybe some performance issues. - More important, providing annotations as it is proposed will make them a core feature of the language. It will be perceived like objects, exceptions, interfaces or visibility. And the direct impact is that PHP will be seen as a more complex language. A really. More. Complexe. Language. Yes, I know that C# has a lot of good ideas. But I also know that C# is not seen as flexible and "teach-me-how-to-code-I-will-use-you-professionally" as PHP. It's true that annotations are already used by frameworks and ORM. But it is their choices, and usually annotations are one of many possibilities to configure code-related stuff. Annotations are not seen as the right way of writing PHP code just because annotations are used by Symfony and Doctrine. But if you put them inside the core of PHP, annotations will gain this status. And I don't know what to say except "I don't like it". One last thought about the "PHP is not Java" thing. Anthony is bored by that. OK. But maybe it's not totally pointless. Many stuff were taken from Java, in the PHP's OO model. OK. The generator concept came from Python. OK. There is some interresting things in many other languages (Ruby, Lua). I guess it's OK to take inspiration from them. When the "yield" keyword appeared, I don't remember anything like "PHP is not Python". Why? Because it's a cool new feature, but it doesn't change PHP behaviour. Annotations are maybe too much for PHP; on the wrong side of the line. Yes, I know, the line is not defined, but still.