On Mon, Mar 28, 2011 at 10:47 AM, Tim Starling tstarling@wikimedia.org wrote:
We can use features from both, using function_exists(), like what we do now with PHP modules.
Well, yes, if there's some reasonable fallback. It doesn't work for features that are useless if you have to write a fallback, like various types of syntactic sugar. For example, the first features from PHP 5.3 release notes include namespaces, late static binding, lambda functions and closures, NOWDOC, a ternary operator shortcut, limited goto, and __callStatic. If Facebook didn't implement some of those new features in Hiphop by the time we could feasibly require PHP 5.3, we wouldn't be able to use them. (Some look really nice, like anonymous functions -- one of the things I really like about JavaScript.)
Granted, this sort of thing is rarely very essential, and maybe Hiphop will keep up with all of PHP's new syntactic sugar. Overall, I'm all in favor of trying out Hiphop on Wikimedia -- I was just wondering what would happen if Hiphop doesn't incorporate all of PHP's new features over time. Which might be groundless, if Facebook plans to incorporate all of PHP's new syntactic features over time.