There are a couple things I don't agree with. Like adding goto statements. Really? Come on...PHP...
But it seems PHP6 wants to finally remove old deprecated behavior (registered globals/magic quotes/safe mode) which I think is a good thing.
Not to mention namespaces will be a great addition to the language.
At first I had an issue upgrading to PHP5. It didn't have the same speed boost PHP3->PHP4 had, so I didn't see the need to change.
But then I actually looked into the new features.
The OOP improvements, exceptions, SimpleXML and iterator support are all great features I use daily and wouldn't want to move back to PHP4.
IMO they should have done these in PHP5. They already broke b/c with the object system (passing by reference instead of by copying), which was smart but troublesome for any complex OOP code written in PHP4. If you're already breaking b/c badly enough, just tear the band-aid off all at once I say.
Sorry, I know not all PHP programmers are like that, but still...
Reading/writing code should be linear.
Introducing goto statements allows you to "jump around" inside your code--which is bad form and confusing.
http://kerneltrap.org/node/553/2131
Then again, I don't imagine there are many Linus-caliber developers working in PHP. This could get ugly.
Is this planned for PHP6 or just being discussed?
so it is good for fast scripting but poor for real programming?
isnt that the point of the language? i could be way off in my perception of PHP here though.
Yes to the first part, and a warning to the last part: What constitutes "real programming" is a question of definition, and here be dragons, as such discussions almost always devolve into "my [favourite] is better than [your favourite]".
There seems to be ample amounts of hatred for PHP here, leading me to believe that either a) people here have never met a GOOD php developer, or b) a minority of users here enjoy the "my favourite scripting language is more obscure than yours" circle-jerk
Code lives longer then their transition periods.
But, thank you for "no magic quotes". I can confidently say that they have only caused me bugs. When our testers try apostrophes in web page input they aren't looking for broken SQL, they are looking for spurious backslashes.
Perl, Python, Ruby, and ASP.NET are all great webapp languages; but Perl is old, Ruby is heavy, and .NET is Microsoft - however PHP developers have no reason not switch to a real OOP language like Python and save themselves from a wheelbarrow-load of trouble.
It has its strengths. They've obviously done something right to garner that huge userbase and support. But for a developer looking to write an internal webapp where only a couple of people get to look at the sort; I maintain that a good developer will be better off coding in one of the other languages that are, shall we just say, more "built" for the hard-core coding sort of thing.
I think namespaces will be a nice addition, and theres a few cases of nice syntactic sugar being done. the icu and xml libraries bundled / enabled looks like a good move as well