2012/7/25 Andrew Faulds <a...@ajf.me>: > Experience can be helpful. But you must support things with facts
Ok, I tried to bring all the pro arguments together. Suggestion: For a generator, rename the keyword "function" to ... "generator" or something like that. Example: generator hugo() { yield ... } Fact: yield/generators is more or less complicated, this shouldn't be changed - it's a proven concept. Fact: yield makes functions some kind of "different". Fact: It doesn't matter how much difference and if PHP has already "different" behaving functions. We're talking about now. Fact: It doesn't matter how it is implemented in other languages, because we talk about PHP and not other languages. Fact: This is also good style in general: Call the things what they are. Fact: as PHP-developer we must try to avoid making things more complicated, because this is one of the best features of PHP. Fact: it's easy to implement a new keyword into PHP for that case Experience: Most PHP programmers will have problems to understand generators because it is a function that generates an iterator... something magic <eyesroll> they never heard of before. Experience: generators/yield can't be explained on one page. Much programmers will never ever read so much docs. :) Experience: good features are self-explaining. A function which returns an iterator because of a simple word in it's body is not. Experience: They will make stupid mistakes, because they mix yield function with normal functions. Experience: They will make stupid mistakes, because they will look for "return" instead for "yield". Experience: again, yield is more or less complicated, it's in this case not a good idea to cover complexity by using already existing language constructs. Experience: Not using the same name will remove a little bit pressure from "busy" programmers Experience: It's of course their fault, if the don't learn how to use something. But this is against the concepts of PHP. This means: If we have the chance to make things easier we must do it. Experience: The current concept dosn't "feel right" for me. I like to listen to my belly in those questions, because he is in most cases right. With the change I suggested he stops grumbling. Please correct me if I use arguments I thought they have been generally agreed/some of them are new. - Alex Aulbach -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php