Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:91553 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 81523 invoked from network); 8 Mar 2016 21:03:10 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Mar 2016 21:03:10 -0000 Authentication-Results: pb1.pair.com header.from=php@fleshgrinder.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=php@fleshgrinder.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain fleshgrinder.com from 212.232.28.122 cause and error) X-PHP-List-Original-Sender: php@fleshgrinder.com X-Host-Fingerprint: 212.232.28.122 mx201.easyname.com Received: from [212.232.28.122] ([212.232.28.122:50768] helo=mx201.easyname.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 82/10-15119-C0E3FD65 for ; Tue, 08 Mar 2016 16:03:09 -0500 Received: from cable-81-173-133-29.netcologne.de ([81.173.133.29] helo=[192.168.178.20]) by mx.easyname.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1adOmY-0008NV-1i for internals@lists.php.net; Tue, 08 Mar 2016 21:03:06 +0000 Reply-To: internals@lists.php.net 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> <56dd744b.8157620a.cddfc.74ed@mx.google.com> <56DDEF7B.6080309@fleshgrinder.com> <56DECE15.703@lsces.co.uk> <56DF1750.6050503@lsces.co.uk> To: internals@lists.php.net Message-ID: <56DF3DFB.10007@fleshgrinder.com> Date: Tue, 8 Mar 2016 22:02:51 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56DF1750.6050503@lsces.co.uk> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="3jXotaDk7QO1l8Xs8K8SJXkuVCSvK0nsQ" Subject: Re: [PHP-DEV] [RFC Proposal] var keyword deprecation/removal From: php@fleshgrinder.com (Fleshgrinder) --3jXotaDk7QO1l8Xs8K8SJXkuVCSvK0nsQ Content-Type: multipart/mixed; boundary="4nGsp9bwjvqMU6Q4CMlaR5tvEtafO6Elk" From: Fleshgrinder Reply-To: internals@lists.php.net To: internals@lists.php.net Message-ID: <56DF3DFB.10007@fleshgrinder.com> Subject: Re: [PHP-DEV] [RFC Proposal] var keyword deprecation/removal 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> <56dd744b.8157620a.cddfc.74ed@mx.google.com> <56DDEF7B.6080309@fleshgrinder.com> <56DECE15.703@lsces.co.uk> <56DF1750.6050503@lsces.co.uk> In-Reply-To: <56DF1750.6050503@lsces.co.uk> --4nGsp9bwjvqMU6Q4CMlaR5tvEtafO6Elk Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable @Tony Marston: I feel directly attacked and offended and others have the feeling too, that is the definition of an insult. That being said, I am staying constructive the whole time and do not avoid communication with you or anyone else because I think we are discussing an important topic. BUT! As Rowan Collins said, keep your emotions aside. On 3/8/2016 10:47 AM, Tony Marston wrote: > "Rowan Collins" wrote in message news:56DD68C0.1090407@gmail.com... >> >> Out of curiosity, which languages are you referring to? It would be >> interesting to see if there are specific lessons we can learn from >> their development and compatibility processes, even if the ecosystem >> they exist in is very different to ours. > > COBOL and UNIFACE. > The history of COBOL shows that it was completely overhauled very often and major changed and breaks had to be made in order to rescue the language from being a mess. Later the designers of COBOL faced the same problems as we face them here right now, people complained about changes. In the 1990s the language started declining in popularity and was replaced by others. Pay special attention to the fact that over 300 dialects of COBOL exist and that compatibility issues was one of its major criticized points: https://en.wikipedia.org/wiki/COBOL#Compatibility_issues Uniface is not a programming language like PHP but they also had multiple breaking changes between releases. All documented publicly and easy to find, e.g.: http://unifaceinfo.com/docs/0905/Uniface_Library_HTML/ulibrary/Migration_= 5C39D681F0922AFC1A7859CF394AC2F7.html I am actually not trying to deface Tony Marston here, I am just saying that it is unavoidable to deprecate and delete features at some point in order to keep a language tidy and comprehensible while still offering people and easy way to upgrade. On 3/8/2016 11:23 AM, Rowan Collins wrote: > Clearly, there is a difference of opinion, and that difference > probably isn't going to go away by repeating the same points in > different words, so let's try to think of productive ways forward. > > You have mentioned stability as a good aim, and have given the > examples of COBOL and UNIFACE which we might learn something from; > Richard has mentioned that lack of consistency being a frequent > criticism of PHP. Is there some way we can formulate a policy, based > on experience elsewhere, of how to balance those two aims? > It would be awesome if we could open up a thread were we discuss these topics more in-depth. I think that this is really important to help our language of love to spread and grow further. :) On 3/8/2016 2:05 PM, Lester Caine wrote: > [...] > I'll have to do the same exercise again later for PHP7. Don't say > "Just switch off the warnings" ... THAT is what has built up the > backlog of work from PHP5.2 ... so adding even more warnings is not > helping improve PHP ... > I am not sure if I wrote that warnings should be simply switched off but I definitely wrote that this is a possible "solution" for people who know about the actual problem but do not want their logs to be littered with them. It definitely should not be the course of action for normal users. Your point however is very important because we really have to be very sensible about such changes. Introducing too many clean-ups is a problems. We saw PHP 6 simply ceasing to exist because the changes were too enormous and we saw it happening to Python 3 were the changes were not well received by the community and now they have to support two major versions (I do not know the details here). Which brings me too ... On 3/8/2016 7:17 PM, Lester Caine wrote: > [...] It all takes time that perhaps need not have been wasted since > ALL that changed was some ones preference of coding style :( > That we should definitely avoid. I do not consider the *var* keyword being a discussion about coding style preferences---this decision was already made in PHP 5! The *public* keyword was introduced and it superseded the *var* keyword including an E_STRICT error. Hence, this discussion is not about whether this was good, correct, or whatever decision: it is already done! This is about clean-up of the old unwanted way of doing it and by now maybe even a discussion about clean-up in general. TL;DR Clean-up is important but there must be an easy to follow migration path and enough time. We have both here, still +1 --=20 Richard "Fleshgrinder" Fussenegger --4nGsp9bwjvqMU6Q4CMlaR5tvEtafO6Elk-- --3jXotaDk7QO1l8Xs8K8SJXkuVCSvK0nsQ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJW3z4AAAoJEOKkKcqFPVVrUpgQAMcwNoIvQnwRgzMYE3VnY8im JrWTlZvJa37y7EXznyt3t6Z3qW3uGn52+WJdgHCICmurg6D3z48wJZKPB5VaCQYi 6Y4Keggwd9slM53T0/Rf+v+LTDIjUdwtWuvWfVdVDTRZqkkWLd/FkXKx+Kl80xnc FU09PoQ1zt9en8M/0uHund8M9vLIXYHBLVrHLkI+XNjOwVVZXjFQzESkESn0kYuJ pl8542eeZXwaB3dlrcX75CLhtGJSJh/rVftKWYBDIeh394JYnkPQzHhHRVAc74jY Th/m6J7JTCLDuCadusNxB3yJYSoosisEPrRvPy3yluMEx1m7D6gZTEEUQEER+hZJ 0bdPcmgPgwwoMdXOOO8zIaCpLAb8ZvsBueJ0VyqXCaJT07LeAE0iphZZy4CJyfXp kUhYdZVBZKiBbt07DGQIruWqj+zNpv7m/q+mNEzlpkgvJ3vkaSMSYawcaBF3Xqhn URxFl6wQmi3NbVsyyfQIPpB597hb8ligPZi8PhGGD6i9qSqt5/dnkwi467e6ICKe kNIVeT7iFIQ/wmX3G9alrMwYgb4ZlxYXwa0UWA2aaHWsfdv+9ECrLAFReCCc6mKs AmanoC31TFi1R4ATgn/ln7WsbSs+yAvzBpKmQdZdrpm8XHo7FEO9k5n2M+k0Apzi FmMkxwMsBq/GqRcAKkP/ =bYHu -----END PGP SIGNATURE----- --3jXotaDk7QO1l8Xs8K8SJXkuVCSvK0nsQ--