Hi list, I think that removing it in any 7.x would be too soon. We should mark it as future deprecation then remove it at a later date. While I don't come across the use of var too much, it does still exist in code bases that are quite old.
On Wed, Mar 9, 2016 at 1:56 PM, Fleshgrinder <p...@fleshgrinder.com> wrote: > @Tony Marston: I cannot reply anymore to you because you are > discrediting yourself with every mail you send and I do not want to > contribute to this any further; I might reply again if you write > something that is actually contributing to this discussion. In the > meantime: read what Rowan Collins wrote. :) > > On 3/8/2016 11:51 PM, Walter Parker wrote: > > If this cleanup is such a good idea, why did it take 12 years for > > someone to suggest it. Why wasn't var removed years ago? What is the > > sudden urgency to remove it now? > > > > It was already emitting an E_STRICT in the past but that was removed > again. I cannot tell why there is no policy regarding such topics but > now it just came up. Also note, removal could have happened with PHP 7 > the earliest. This chance was missed due to more important topics. > > On 3/8/2016 11:51 PM, Walter Parker wrote: > > Have programmer become more confused? This alias does not appear to > > have been an issue for the last 12 years. > > > > Nope, of course not. That was just one of several arguments why the > removal should happen in the future. > > On 3/8/2016 11:51 PM, Walter Parker wrote: > > What has changed? Are we on a cusp of the paradigm change (the type > > that happens when the old folk have gone away, so the younger folk > > can get their way because they now have the numbers)? > > > > Maybe, or maybe some people simply take the major criticism of their > favorite language seriously and see it as constructive input to improve it. > > On 3/9/2016 11:12 AM, Arvids Godjuks wrote: > > All languages are evolving, and part of that is removing old baggage, > even > > if that baggage is harmful. Because ease of maintenance. When you have > > multiple ways to do a thing, that means that when you touch some part of > > it, you have to remember to update everything else. It's easy with > > functions/methods, because aliasing is essentially forwarding the call. > But > > with the language grammar that means modifying the parser for the > language > > in multiple places and not necessarily as a copy/paste of the changed > rules. > > The argument, that it's there for ages is not a good technical argument > why > > not to remove it. > > > > And by the way, there is an actual case, that var can't cover, but > > public/private/protected does. > > You can't do this: > > class Blah { > > var static $a = 0; > > } > > > > but this obviously works > > class Blah { > > public static $a = 0; > > } > > > > So, "var" is not the same as "public", it's a subset of "public" > > functionality actually. And I just checked the docs -it's not mentioned > in > > the docs anywhere. > > > > And this is precisely why with time you need to remove the old baggage > and > > duplicate functionality. We can give people ample time to update > libraries, > > because removing "var" is not going to happen until PHP8 for sure, that's > > probably at least 5-7 years, and deprecation warnings are easy to deal > with. > > Yes. we need to keep BC in mind, but this particular issue is trivially > > easy to fix, even automated tools are provided, cleans up an > inconsistency > > between var and public, frees up "var" keyword for future usage for more > > advanced concepts and just removes the duplication of functionality. > > BC for the sake of BC is just silly. > > > > Arvids. > > > > :) > > -- > Richard "Fleshgrinder" Fussenegger > >