For the modules which are part of the core distribution this is a non-issue as they're branched. For PECL modules this is the same "how old of a PHP version am I (as the package maintainer) willing to support?". That package maintainer can: (A) Not use the new API, (B) Wrap up some #ifdef's, or (C) Use the new API exclusively and eschew pre-5.2.

Right, and that's why I think it's problematic to have such a major change in the API, because (A) and (C) are the likeliest outcomes - (B) is virtually unmanageable. Take a look at what it takes for an extension to adapt to this, and then imagine all of it #ifdef'd....

The important part of (A) is "not yet" (which I tried to express in my second paragraph). It's the same reason why userspace package maintainers aren't using exceptions and other 5.x specific features en masse *yet*, and why goto won't be used in many scripts when 6.0 is first out -- okay, not the only reason why it won't be used :)

As for (C), I can't imagine an extension maintainer going that route unless they have other *more compelling* reasons to give up on pre-5.2 versions. There's just not enough of a win to merit alienating those earlier versions *yet*. Noone's forcing module authors to break compatability with older versions, this is just giving them the choice to do so, and get a cleaner piece of source in the process. It's also making it so that when those extension maintainers do reach that point, they don't have to alienate the (presumably larger) pre-6.0 audience, they only have to do so for the (smaller) pre-5.2 audience.

I'm sorry Steph, I know your position, but I just don't understand it. This is a minor gain at no cost. Minor enough that it's not worth it to me to fight with you over it, but no-cost enough to compel me to against my better judgement... :)

-Sara

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to