What impact do you believe PHP6 will have?
Moderator: General Moderators
- Chris Corbyn
- Breakbeat Nuttzer
- Posts: 13098
- Joined: Wed Mar 24, 2004 7:57 am
- Location: Melbourne, Australia
What impact do you believe PHP6 will have?
Let's not let this thread drift off into a speculation about the featureset of PHP6. But, as an open source developer of a project I'm already working on pretty much every bit of free time I get and deliberately maintaining two synchronized branches so that the code runs under the highest error setting in PHP4 and 5, I have to wonder, just how big of an impact is PHP6 going to have on what we do?
I already find it a complete PITA that I have to code in PHP5 (the nice bit), then once I've made a load of changes, hop over to my PHP4 branch and duplicate those changes in PHP4-style. I'm almost dreading having to maintain PHP4, 5 and 6 banches of the same code base so I'm contemplating dropping PHP4 support within 6 months of PHP6 being released and maintaining PHP5 and PHP6 branches, which hopefully will be extremely similar. I'm just starting to get the feeling it's not too feasible and that I'd be cutting out a HUGE portion of my existing user-base.
It's odd how PHP is so stuck in the past - much beyond developers' control due to the way hosting companies operate, but other languages pretty much move with the pace at which new versions come out. It's a bit like developing Java 1.3 code today... it just wouldn't happen much.
What are your thoughts on how widely adopted PHP6 will be? Are we just heading for another barely acknowledged release of PHP as far as web hosting goes?
I already find it a complete PITA that I have to code in PHP5 (the nice bit), then once I've made a load of changes, hop over to my PHP4 branch and duplicate those changes in PHP4-style. I'm almost dreading having to maintain PHP4, 5 and 6 banches of the same code base so I'm contemplating dropping PHP4 support within 6 months of PHP6 being released and maintaining PHP5 and PHP6 branches, which hopefully will be extremely similar. I'm just starting to get the feeling it's not too feasible and that I'd be cutting out a HUGE portion of my existing user-base.
It's odd how PHP is so stuck in the past - much beyond developers' control due to the way hosting companies operate, but other languages pretty much move with the pace at which new versions come out. It's a bit like developing Java 1.3 code today... it just wouldn't happen much.
What are your thoughts on how widely adopted PHP6 will be? Are we just heading for another barely acknowledged release of PHP as far as web hosting goes?
Re: What impact do you believe PHP6 will have?
Yeah me too, but just for PHP5.d11wtq wrote:so that the code runs under the highest error setting in PHP4 and 5
Yeah, I hate it too, but in my opinion it's a kind of a loop: People have sites and applications written in PHP4 -> Hosting companies don't want to lose their clients so they don't upgarde in the worst case and at best they run both PHP4 and PHP5 -> Developers don't code for PHP5 since most web hosting companies don't support it -> People use this code which is written in PHP4 and so on...d11wtq wrote:It's odd how PHP is so stuck in the past - much beyond developers' control due to the way hosting companies operate
I rather suspect it'll have pretty much no impact at all:
If it's locked down and forces developers to produce good secure code then lots of developers won't upgrade because they'd have to learn to write good code, so hosting companies will keep 4 / 5 around.
If it's not locked down, and lets developers write utter garbage like it does at the moment then it'll make no significant difference.
Lose-lose.
If it's locked down and forces developers to produce good secure code then lots of developers won't upgrade because they'd have to learn to write good code, so hosting companies will keep 4 / 5 around.
If it's not locked down, and lets developers write utter garbage like it does at the moment then it'll make no significant difference.
Lose-lose.
- Chris Corbyn
- Breakbeat Nuttzer
- Posts: 13098
- Joined: Wed Mar 24, 2004 7:57 am
- Location: Melbourne, Australia
I'm starting to get the feeling it's going to go un-noticed too. You're right that if it becomes too strict, it won't be adopted. Communities of developers from other languages may laught at PHP... and that's because of it's forgiving nature when coding (bad, I agree!), but on the same token (IMHO), to program well in such a language you really have to know what you're doing.
The reason I'm starting to feel like it's going to change nothing is that nobody is talking about it except the elitist PHP developers. Sad
Maybe if Zend actually dropped official support for PHP4 themselves it would push things forward. I do actually think, the way I feel at the moment, I'll be left with no choice but to ditch support for PHP4 if even a modest number of developers adopt PHP6. However, I'm not in the best of moods to make a fair judgement as I've been developing Swift all day and am now reproducing the same code in PHP4!
The problem is that when you're stretching changes across 3 versions, you start to hit points where there are no "alternative" methods or workarounds for downgrading. It's like that now really. There are things that I just can't physically do with PHP4 that I do with PHP5 (the way I use exceptions being one).
The reason I'm starting to feel like it's going to change nothing is that nobody is talking about it except the elitist PHP developers. Sad
Maybe if Zend actually dropped official support for PHP4 themselves it would push things forward. I do actually think, the way I feel at the moment, I'll be left with no choice but to ditch support for PHP4 if even a modest number of developers adopt PHP6. However, I'm not in the best of moods to make a fair judgement as I've been developing Swift all day and am now reproducing the same code in PHP4!
The problem is that when you're stretching changes across 3 versions, you start to hit points where there are no "alternative" methods or workarounds for downgrading. It's like that now really. There are things that I just can't physically do with PHP4 that I do with PHP5 (the way I use exceptions being one).
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
I am interested to see what effect it will have. I think the thing nobody really wants to say is the the reason that PHP4 is still so popular is that a very large group of people want a programming language that is not like PHP5. PHP5 may have more features that some programmers seem to not be able to live without -- but PHP5 code sure looks a lot like Java these days.
My question is: is PHP5/PHP6 a good thing in the grand scheme? Given that languages like Java and C# already exist, is the loss of a language like PHP4 a good thing?
My question is: is PHP5/PHP6 a good thing in the grand scheme? Given that languages like Java and C# already exist, is the loss of a language like PHP4 a good thing?
(#10850)
- Chris Corbyn
- Breakbeat Nuttzer
- Posts: 13098
- Joined: Wed Mar 24, 2004 7:57 am
- Location: Melbourne, Australia
Some of the proposed chanages even head it off in that direction too (namespaces!). All that would be left is threading and proper overloading and we'd be there (with SPL extended a bit). I'm defying my first sentence if my initial post herearborint wrote: -- but PHP5 code sure looks a lot like Java these days.
Perhaps not. I hate to admit it on a PHP forum, but I personally enjoy programming in Java more these days. However, I believe that's got *nothing* to do with the language, it's just a breath of fresh air because I develop PHP(5) all day long at work. I also don't just develop for the www in java.arborint wrote:My question is: is PHP5/PHP6 a good thing in the grand scheme? Given that languages like Java and C# already exist, is the loss of a language like PHP4 a good thing?
You think, with two newer versions available, PHP web hosts would feel an immense amount of pressure to upgrade, or at least offer PHP6 support in some form? We need someone from a webhosting company to chime in here...
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
I guess I am wondering if PHP is becoming just another programming language with all the features that allow programmers to feel special -- rather than the gem of simplicity and productivity that is was? When it comes right down to it, the main complaint about PHP is that it allows non-programmers to program poorly. There's a real ego turf war quality to that. Which is pretty funny because the incredible popularity of PHP is because it allows non-programmers to program poorly. The world needs a simple programming language far more than yet another complicated one.
Given all the features in PHP5 that can easily be lived without, they still have not implemented things that would actually be useful, such as a Request/Response object, or Filter/Validator objects. Things that would actually help bad programmers. Instead we have lots of low value features and the Iterator extravaganza that is SPL.
Take a look at what keeps changing in the Zend Framework -- the core. They still don't have a really clean core and will probably ship 1.0 with something just OK, not great. There seems to be a lack of getting it.
Given all the features in PHP5 that can easily be lived without, they still have not implemented things that would actually be useful, such as a Request/Response object, or Filter/Validator objects. Things that would actually help bad programmers. Instead we have lots of low value features and the Iterator extravaganza that is SPL.
Take a look at what keeps changing in the Zend Framework -- the core. They still don't have a really clean core and will probably ship 1.0 with something just OK, not great. There seems to be a lack of getting it.
(#10850)
- Chris Corbyn
- Breakbeat Nuttzer
- Posts: 13098
- Joined: Wed Mar 24, 2004 7:57 am
- Location: Melbourne, Australia
I fully agree with what you're saying (it's also a really interesting point). I'd love to see PHP introduce new features as times change, but I have no issues at all with keeping the forgivingness of the language...
For example, it would be nice to be able to type-check for primitive types where I want to, but otherwise just be loosely-typed.
When I think about it though, I'd love PHP even more if it did go more like Java. I'm not talking about strictness, just features likes namespaces (and includes which only have a scope in the current file!), threading and overloading (you need proper type-checking for that though). I'd like to see things added, but nothing (much) taken away. PHP has a really reach set of functions. Combine that with PEAR and PECL, if you can wrap good OO code around those functions/features you not only able to create very scalable applications, but you are also able to create them very quickly.
*cough* first sentence in first post *cough*
For example, it would be nice to be able to type-check for primitive types where I want to, but otherwise just be loosely-typed.
When I think about it though, I'd love PHP even more if it did go more like Java. I'm not talking about strictness, just features likes namespaces (and includes which only have a scope in the current file!), threading and overloading (you need proper type-checking for that though). I'd like to see things added, but nothing (much) taken away. PHP has a really reach set of functions. Combine that with PEAR and PECL, if you can wrap good OO code around those functions/features you not only able to create very scalable applications, but you are also able to create them very quickly.
*cough* first sentence in first post *cough*
I think the problem with PHP is that it tries to be too many things to too many people. The developers can't figure out just what they want it to be. I love PHP, but I'm starting to think that I need to get some other programming language(s) under my belt because even with sites like Flickr, Wikipedia, and Digg, PHP's reputation seems to still be heading down the toilet
. Even if PHP's reputation isn't heading for the toilet, it isn't very smart to rely on any one technology to put food on my table. (now whether to learn Java, Ruby, or Python... I don't know)
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
I don't think it's forgivingness ... it's about simplicity. I think OO PHP5/6 has crossed the line that made PHP4 popular.d11wtq wrote:I fully agree with what you're saying (it's also a really interesting point). I'd love to see PHP introduce new features as times change, but I have no issues at all with keeping the forgivingness of the language...
You sound like all the other programmers driving complexity in PHP -- namespaces, threading, overloading, type-checking, etc. Those are all things, they are just not really necessary things. They are ways to solve problems -- but not they only way. And that's the thing about PHP5/6 ... it is a language that increasingly gets you to solve problems the way they are solved in languages like C# and Java. But perhaps in wishing PHP to be like other languages we are inadvertently limiting our choices in how we solve problems ...d11wtq wrote:For example, it would be nice to be able to type-check for primitive types where I want to, but otherwise just be loosely-typed.
When I think about it though, I'd love PHP even more if it did go more like Java. I'm not talking about strictness, just features likes namespaces (and includes which only have a scope in the current file!), threading and overloading (you need proper type-checking for that though). I'd like to see things added, but nothing (much) taken away.
(#10850)
Who says you can't continue to write PHP4 style code in 5 or 6? If anything the OO coding available in 5 and 6 over shadow the fact that you still can write great procedural apps. I expect Drupal and others will be around for a long time.
The real problem is too many people have old code -- register globals, reference problems .... They don't want to migrate. Sooner or later Zend will drop support for php 4. Problems like "The Month of Bugs" will force Zend to drop support for one branch in favor of maintaining one that is more secure. When that happens hosts will be forced to tell their customers to upgrade their code. Personally I think we'll see version one of the Zend Framwork, Zend studio 6, and PHP 6 released together or close together. Isn't 6 more or less 5 cleaned up?
The real problem is too many people have old code -- register globals, reference problems .... They don't want to migrate. Sooner or later Zend will drop support for php 4. Problems like "The Month of Bugs" will force Zend to drop support for one branch in favor of maintaining one that is more secure. When that happens hosts will be forced to tell their customers to upgrade their code. Personally I think we'll see version one of the Zend Framwork, Zend studio 6, and PHP 6 released together or close together. Isn't 6 more or less 5 cleaned up?
- daedalus__
- DevNet Resident
- Posts: 1925
- Joined: Thu Feb 09, 2006 4:52 pm
There are many things that I love about PHP which prevent from moving to another web-based language. At the same time, I want to move to another language because of the things I hate.
I have only developed in PHP4 once and have to say that I will never develop in PHP4, again. In my opinion, support for it should have already been dropped. PHP5 is great and it is, in my opinion, just as easy, if not easier, to develop procedurally in PHP5. I have to develop everything at work procedurally because they want things done insanely quickly. Most of it turns out horrible and is a complete mess, especially when making updates, but it is very easy to develop something that should take one week in only a one or two days.
I usually use the most current version of any application or language unless I know that it is worse than a previous version. I never have been someone who will use the same version of a piece of software for 5 years because "it works".
As I said before, there are a lot of things that I like about PHP (I don't care to list them right now). I think that PHP5/PHP6 should be pushed ahead for the sake of persons who want to see that happen. I, for one, would love to see namespaces. C# is very dependent on the .NET framework which makes it dependent on Windows and IIS. To use Java, users need a Java Virtual Machine. Those things make those languages very unattractive to me (there is other stuff too though).
I feel that PHP has it's place in the world and that it is fitting in that place quite nicely. Adding support for higher-level features isn't necessary but it's nice and it seems to me that even though the language is maturing it is still as simple as it needs to be and easy to write.
I had more to say but I forget, I have been trouble concentrating lately. I apologize if this parts of or this whole post doesn't make much sense. ;P
I have only developed in PHP4 once and have to say that I will never develop in PHP4, again. In my opinion, support for it should have already been dropped. PHP5 is great and it is, in my opinion, just as easy, if not easier, to develop procedurally in PHP5. I have to develop everything at work procedurally because they want things done insanely quickly. Most of it turns out horrible and is a complete mess, especially when making updates, but it is very easy to develop something that should take one week in only a one or two days.
I usually use the most current version of any application or language unless I know that it is worse than a previous version. I never have been someone who will use the same version of a piece of software for 5 years because "it works".
As I said before, there are a lot of things that I like about PHP (I don't care to list them right now). I think that PHP5/PHP6 should be pushed ahead for the sake of persons who want to see that happen. I, for one, would love to see namespaces. C# is very dependent on the .NET framework which makes it dependent on Windows and IIS. To use Java, users need a Java Virtual Machine. Those things make those languages very unattractive to me (there is other stuff too though).
I feel that PHP has it's place in the world and that it is fitting in that place quite nicely. Adding support for higher-level features isn't necessary but it's nice and it seems to me that even though the language is maturing it is still as simple as it needs to be and easy to write.
I had more to say but I forget, I have been trouble concentrating lately. I apologize if this parts of or this whole post doesn't make much sense. ;P
I agree with neophyte.
PHP is going nowhere near java or anything like that. You can still keep your procedure style without noticing any difference.
OOP concept is same in any programming language and just because php5 introduced OOP in a more meaningful manner does not make it java language. Nobody forces you to make classes and alike.
PHP5 just enchanced OOP approach to something useful....for those who think in OOP.
I personally don't think php got any complex or whatever. You can use the old way, or you can make use of new stuff. That is good because quick and dirty scripts are possible and all is ok. On the other hand with php5 and OOP it is just easier to develop more robust, extendable applications (won't say enterpise as it sounds really big but you get the idea), and again..nobody forces you to do it that way.
PHP is going nowhere near java or anything like that. You can still keep your procedure style without noticing any difference.
OOP concept is same in any programming language and just because php5 introduced OOP in a more meaningful manner does not make it java language. Nobody forces you to make classes and alike.
PHP5 just enchanced OOP approach to something useful....for those who think in OOP.
I personally don't think php got any complex or whatever. You can use the old way, or you can make use of new stuff. That is good because quick and dirty scripts are possible and all is ok. On the other hand with php5 and OOP it is just easier to develop more robust, extendable applications (won't say enterpise as it sounds really big but you get the idea), and again..nobody forces you to do it that way.
All the things I dislike in PHP4 are not "fixed" in PHP5, so I see no reason to switch 
(Okay, except foreach by reference)
I like the point of arborint for problem solving and I am exactly unlike daedalus__ - it works, it does the job perfectly and I have no reason to upgrade. The only thing I've used PHP5 for was to do some experiments with tidy 2.
The weigh of PHP4 applications is surely a problem for the users to embrace newer versions, and I expect the same thing to happen with PHP6. Unless they offer something revolutionarily better which is also backwards compatible - which by definition is impossible.
(Okay, except foreach by reference)
I like the point of arborint for problem solving and I am exactly unlike daedalus__ - it works, it does the job perfectly and I have no reason to upgrade. The only thing I've used PHP5 for was to do some experiments with tidy 2.
The weigh of PHP4 applications is surely a problem for the users to embrace newer versions, and I expect the same thing to happen with PHP6. Unless they offer something revolutionarily better which is also backwards compatible - which by definition is impossible.
- Chris Corbyn
- Breakbeat Nuttzer
- Posts: 13098
- Joined: Wed Mar 24, 2004 7:57 am
- Location: Melbourne, Australia
You can't write (OO) code which runs under E_ALL in PHP4 and E_STRICT in PHP5. That's not up for debate, you just can't. Hopefully, PHP6 will however, allow you to run PHP5 E_STRICT code under E_STRICT in PHP6. I don't think they're making syntactical changes, the're just adding features (I hope). But then with new features available, it would be hard not to take advantage of them. When you work in a programming field you need to keep up with what's going on around you.neophyte wrote:Who says you can't continue to write PHP4 style code in 5 or 6?
As jmut says, when you think about it, no PHP5 is not really like Java it all. People might choose to write code which "looks" Java-esque (I think that's what arborint was getting at) but the language doesn't force you to do that. That's a design choice, and often a pretty good one
I think it's a catch-22 situation. Like Mordred says, the sheer volume of PHP4 apps makes it hard to switch, but by not switching, more and more PHP4 code is being written, so even by PHP7 we'll all still be developing in PHP4? If it was a bit more like web designers who refuse to use Internet Exlorer to do their web browsing because they'd rather everyone used Firefox or Opera, then maybe thngs would move forward. But for that to happen, people need to actually *want* things to move forward. I do.