Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP 7 information in Readme.md is misleading and inaccurate #2

Closed
AllenJB opened this issue Aug 19, 2014 · 9 comments
Closed

PHP 7 information in Readme.md is misleading and inaccurate #2

AllenJB opened this issue Aug 19, 2014 · 9 comments

Comments

@AllenJB
Copy link

AllenJB commented Aug 19, 2014

Why is the PHP 7 section in past-tense when it hasn't been released (or even had an alpha release) yet? A lot of the information in this section is basically incorrect or at a way-too-early stage to determine.

Saying that PHP7 will only include the performance improvements (of phpng) is massively incorrect. Development on PHP7 has only just started and it's already going to include Uniform Variable Syntax, 64-bit improvements, Catachable "call to a member function", almost certainly Abstract Syntax Tree and possibly (in some form) Joe Watkin's unicode strings. And that's just for starters - there's a long way to go before PHP7 gets released (enough that a number of developers want a PHP 5.7 release).

There's also a number of RFCs that have previously been under discussion that will almost certainly be brought up for inclusion in PHP 7.

@nazariyg
Copy link
Owner

A preview of PHP 7 PHPNG is already available as PHP 5.7.

I'm going to look into how I can describe the current state of affairs with PHP 7 in a more correct way, but the fact is that the improvements from 5.6 are going to be quite minor. 64-bit arithmetics is hardly a major issue with PHP, catchable "call to a member function" is pretty insignificant, and abstract syntax tree has more to do with the compiler and performance than with the usability of the PHP language. As to Joe Watkin's unicode strings, I was looking for the RFC but couldn't find.

Thanks.

@AllenJB
Copy link
Author

AllenJB commented Aug 19, 2014

That's not a preview of PHP7. As stated in the very first line of the blog post it's a preview of the phpng branch (which was specifically for the performance changes), which has now become the basis for PHP7 as noted by both Zeev's blog (and being a core developer he should know) and the "merge phpng to master" rfc.

A lot of developers have been waiting on the phpng merge to start work on features for PHP7 because it was known it was going to make major changes to internal APIs and the developers didn't want to start writing code that would need a major rewrite if/when phpng (or some similar alternative proposal) was merged (while in the end it passed pretty much unanimously among those who voted, there was a huge amount of discussion surrounding it on internal right up to the vote).

Even the most optimistic estimates on internals put the release of PHP7 at over a year away, probably closer to 2. There's plenty of time for a lot more work before then and, as I mentioned previously, plenty of major changes that were previously knocked back for various reasons (including backwards compatibility breakage, which the developers do try to keep to major versions).

AST itself may be more to do with the compiler, but it lays down groundwork that will make future language changes much easier and more maintainable (to the extent that extensions can easily add some syntax level language features, as demonstrated in the RFC)

Joe Watkin's (/u/krakjoe on reddit) unicode strings hasn't had an RFC created for it yet, but he has said in the linked reddit post that he intends to push for its inclusion in PHP7 in some form (and unless the developers find something massively wrong with it or come up with a better proposal, I would wager it's likely to make it in).

For more stuff that may go into PHP7, see the developer wiki, including (but not limited to) https://wiki.php.net/ideas/php6/engine and https://wiki.php.net/ideas/php6

On top of all that you've also got the PHP language spec which is currently being worked on and there's a lot of suggestions for improvements or new features coming out of that (some more likely to happen than others).

As an additional suggestion on how you can write a better description on PHP7, go sign up to the internals mailing list and read through the past few weeks archives (I find gmane,org to by a pretty good interface - even better if you hook it up to an nntp client like Thunderbird).

@nazariyg
Copy link
Owner

Thank you for the elaborate info. In my excuse, I clearly remember reading somewhere that the chances are good for PHP 7 to be released as soon as the first half of 2015.

If you'd be willing to suggest a short replacement for the first paragraph in the PHP 7 section that would be cool. In any case, I really appreciate your concern.

@nazariyg
Copy link
Owner

..or for the entire text.

@terah
Copy link

terah commented Aug 19, 2014

Hi nazariyg,

First off, great project.. it looks really interesting. I love the scalar object proposal and think it's something that will really make PHP a much more consistent language. I see you've made reference to scalar objects in the project description. Does the uniform variable syntax === a scalar objects rfc?

@AllenJB
Copy link
Author

AllenJB commented Aug 20, 2014

I won't be submitting alternative text for several reasons:

  1. I'm crap at writing things like that.

  2. As I've repeatedly said, it's way too early to be commenting on PHP7 right now. If you're interested in what may be going into PHP7 and its development, follow internals, otherwise wait until much nearer the time when there will be a lot more to go on (and probably posts about what's going on sent into the community by the developers themselves).

  3. Why even mention it at all? This is a project description, not a blog post. How exactly does the current state of PHP7 (and the history of PHP6) pertain to/impact this project? I don't think it has any relevance and as such doesn't belong here at all

@nazariyg
Copy link
Owner

@AllenJB I'd disagree with 3) entirely but you've got a point in 2).

@nazariyg
Copy link
Owner

@terah If you scroll to the end in the first block of examples in PHP RFC: Uniform Variable Syntax you can see

"string"->toLower()

And since the scalar_objects extension and the Uniform Variable Syntax RFC are both authored by Nikita Popov, the feature will most likely be present in PHP 7 one way or another because, as I remember it correctly, Nikita Popov was planning it for an RFC from the start.

@nazariyg
Copy link
Owner

@AllenJB Made more edits to the PHP 7 section. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants