Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:91600 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 14901 invoked from network); 9 Mar 2016 20:53:09 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Mar 2016 20:53:09 -0000 Authentication-Results: pb1.pair.com header.from=geggleto@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=geggleto@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.217.173 as permitted sender) X-PHP-List-Original-Sender: geggleto@gmail.com X-Host-Fingerprint: 209.85.217.173 mail-lb0-f173.google.com Received: from [209.85.217.173] ([209.85.217.173:32892] helo=mail-lb0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3A/BA-53667-33D80E65 for ; Wed, 09 Mar 2016 15:53:09 -0500 Received: by mail-lb0-f173.google.com with SMTP id k15so84543391lbg.0 for ; Wed, 09 Mar 2016 12:53:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to; bh=r6I0wBnUo6kmsE9Oyi5ckENX/Q9CWiNFKxm7I3MfOLg=; b=UFmI4MJwaQEAh2ICoQdR2KJP/6UPQmtqJkFkgOwp/WS6Z4wIbo6ZZwIeIfV9GGo0GW AbtQpHnLLrcCqt4zuJM1qAqWnejZw8XUwPxEwMZAG9gnHpg9u6fLRSy28qItu/LJU3Ju oR0xm2nV02XVQqgSElCM/8/CbNSD31UbEb56txz9/ccy/muyq/Tstt0EW4L8t7H/kgej VwopO8cR0SfsmFgc/ayvgMGMtRV4wgWsVifbLOltLaDzP65i32IOnAOZvhz/1AYC8Ypq IReEwbU0uXKrGqlg8Xsnh6lJ4e7GAsLTLUNkz6yKz/IAWaweN8ncFuk8eth/9+wElh07 63ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to; bh=r6I0wBnUo6kmsE9Oyi5ckENX/Q9CWiNFKxm7I3MfOLg=; b=jFMBSJ/neGOuDxJD0yinlFLZbbnfXf60Z4eK0fjlEX6KeZAt1Fch8LhIYBICeH8XWK CQQX11ECPGbGADaQiEtkNIdI/zNl1WsMqPscB3ag2VAaqRfyAyIqk4O6448Dm2g6thMx gRtwrFI4kKghKCqAqME2muxkQDDTeNC+taSCpi306kgtFs/6ozB543wny4if0ndLyESE EYhMUoy65m8OoG6VZp95WRIyuc7elgdpaqkAQqPEJ2HP42Fi99d4GivV+hAP6z9MCl0h xkkbW0B5y4mm/SLZIGW+b1bYWhty6uzeFuU+wNJ5WpLiXioADthiXpBZh+XtrE07/j5k i3VQ== X-Gm-Message-State: AD7BkJKqPtInZzENyACCBcN6keSQC9cP+6GLh3sVZ5sTvDsYq9kbngGW4wFBCEjvBDUkpOH0lLdavb414X9iTw== MIME-Version: 1.0 X-Received: by 10.25.21.151 with SMTP id 23mr86650lfv.89.1457556784892; Wed, 09 Mar 2016 12:53:04 -0800 (PST) Received: by 10.25.210.7 with HTTP; Wed, 9 Mar 2016 12:53:04 -0800 (PST) In-Reply-To: <56E071CC.6010907@fleshgrinder.com> References: <1F.91.55238.41F10D65@pb1.pair.com> <56D42CD3.6020602@gmail.com> <56D57DF4.8000906@gmail.com> <56D5D2AD.6070805@gmail.com> <56D5DDA6.4080607@fleshgrinder.com> <40.73.36499.548B6D65@pb1.pair.com> <56D6BBD0.5010505@gmail.com> <56D73386.3000903@fleshgrinder.com> <86.68.21983.A2508D65@pb1.pair.com> <56D86C00.6000904@fleshgrinder.com> <12.FB.08749.AF759D65@pb1.pair.com> <56DAC26C.50304@fleshgrinder.com> <56DAE00F.2030203@lsces.co.uk> <56DAF480.7030508@fleshgrinder.com> <0B.E0.29316.019CBD65@pb1.pair.com> <56DBFDB5.1010806@fleshgrinder.com> <43.5B.29316.A864DD65@pb1.pair.com> <56DD64F5.5010503@gmail.com> <56DEA829.5030903@gmail.com> <2D.96.15119.232FFD65@pb1.pair.com> <56E071CC.6010907@fleshgrinder.com> Date: Wed, 9 Mar 2016 15:53:04 -0500 Message-ID: To: internals@lists.php.net Content-Type: multipart/alternative; boundary=001a11406aae6754d1052da3e294 Subject: Re: [PHP-DEV] [RFC Proposal] var keyword deprecation/removal From: geggleto@gmail.com (Glenn Eggleton) --001a11406aae6754d1052da3e294 Content-Type: text/plain; charset=UTF-8 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 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 > > --001a11406aae6754d1052da3e294--