> While I think having a legacy implementation is definitely worth while, it > needs to be in core. So PHP6 would introduce the new syntax, and include the > legacy functionality in as close to 100% backwards compatible way as > possible. From there, we'd only remove the legacy functionality from core in > 7 (which could be 4 or 5 years out).
I personally think this is already straying a little off topic. Discussing how legacy functions should be implemented is taking up more of the thread than discussing what actual features people want to see. I guess I feel 6 really should still be about ZE3 and full Unicode, which means pretty much a ground up rewrite. If that turns out to be the case, I think that while legacy support should be included it shouldn't influence the design of the new engine. This is version 6, BC will break, and performance and functionality improvements shouldn't be hampered due to legacy concerns. This is the sole basis for my suggestion. Write 6 how it should be. Add legacy afterwards. > We don't want to be in the same situation with 6 that python was in with 3, > and perl was in 5. We want to encourage adoption. Having a PECL extension > needed for adoption is not going to fly too well. But if we can add the new > functionality and give people an easy migration path, adoption will be > easier. As Brandon said, have it on by default, and let people --disable-whatever-its-called Lets get the discussion back towards features. I know I don't talk here much, but I enjoy reading what everyone has to say. Anthony I agree with all of your original suggestions. Exceptions everywhere is the big one for me. Namespaces as meta-objects and namespace private functions, definitely. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php