Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:61766 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 20809 invoked from network); 25 Jul 2012 15:15:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Jul 2012 15:15:14 -0000 Authentication-Results: pb1.pair.com header.from=ajf@ajf.me; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=ajf@ajf.me; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain ajf.me designates 64.22.89.133 as permitted sender) X-PHP-List-Original-Sender: ajf@ajf.me X-Host-Fingerprint: 64.22.89.133 oxmail.registrar-servers.com Linux 2.6 Received: from [64.22.89.133] ([64.22.89.133:45496] helo=oxmail.registrar-servers.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 10/E6-19281-18D00105 for ; Wed, 25 Jul 2012 11:15:13 -0400 Received: from [192.168.0.200] (5ad32874.bb.sky.com [90.211.40.116]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by oxmail.registrar-servers.com (Postfix) with ESMTPSA id EE855C30002; Wed, 25 Jul 2012 11:15:09 -0400 (EDT) Message-ID: <50100D68.2040709@ajf.me> Date: Wed, 25 Jul 2012 16:14:48 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0 MIME-Version: 1.0 To: Lester Caine CC: PHP internals References: <500EDCC7.1020402@ajf.me> <500EE3B9.8010902@ajf.me> <500EEA76.1030407@ajf.me> <5010007A.8060609@lsces .co.uk> <501007A4.9000200@ajf.me> <50100C84.3020505@lsces.co.uk> In-Reply-To: <50100C84.3020505@lsces.co.uk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Re: Generators in PHP From: ajf@ajf.me (Andrew Faulds) On 25/07/12 16:11, Lester Caine wrote: > Andrew Faulds wrote: >>> I top you 20 years with 37 years. I was programming in Algol in 1975 >>> ( at >>> Warwick university ). I'm not a programmer, I'm a hardware engineer >>> who has to >>> program to make systems work. I added PHP 12 years ago to create web >>> based >>> applications to augment c and Pascal based applications. Many of the >>> concepts >>> being added make sense only as extensions to the core code, and >>> don't need to >>> be forced into general use. Adding tools that have very specialist >>> use should >>> be done as options, which we can leave out if we want to. The it >>> needs to be >>> justified switching something on by default. I have no objection to >>> 'new >>> facilities', but only if I can also switch them off ... >>> >> Eh, what? "Switch them off"? >> >> What on earth do you mean? "use noGenerators" and then break tons of >> third-party >> code relying on it? Or do you think you're forced to use them? > > The third party code would have to justify using them in my book. But > as long as I KNOW what a library is using then I have the option > simply to avoid it. At the moment how many third party codes are > 'strict compliant' and can be used safely with PHP5.4? In my book this > is exactly the same problem. For many years all of my PHP5 code played > nicely with PHP4 installations even though I never used PHP4. Nowadays > you are saying "You can't use this until your ISP updates" - so > libraries NEED to manage this or specifically avoid features that are > not in general use 'in the wild' ... ISP are only just updating to > PHP5.3 since PHP5.4 is not generally available in the core ISP > distributions ... It's additions like this that are delaying adoption > rather than enhancing it. > >> I don't understand, sorry. >> >> A feature's existence doesn't mean you're forced to use it. Did the >> introduction >> of short array syntax force you to use [] instead of array()?! > > Until one gets thrown into libraries that use 'short array syntax' > exclusively and have to work out what the heck is going on. We don't > get forced to USE it, but we do get forced to ensure that we > understand exactly what it is doing even if we don't and it adds > unnecessarily to the library of functions we need to understand :( > Boo hoo, PHP has new features, you'll have to understand them, shock horror! Also, PHP5 code playing nicely with PHP4? I'm pretty sure PHP4 had big, big incompatibilities with PHP5. Although I'm too recent a PHP programmer to have ever had to deal with that. I've only ever dealt with PHP5. But I know that PHP4 had pass-by-value objects, and PHP5 had pass-by-reference, so I'm surprised if PHP5 code works correctly in PHP4. -- Andrew Faulds http://ajf.me/