Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:48217 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 10123 invoked from network); 5 May 2010 11:16:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 May 2010 11:16:35 -0000 Authentication-Results: pb1.pair.com header.from=adam@adamharvey.name; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=adam@adamharvey.name; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain adamharvey.name from 209.85.221.197 cause and error) X-PHP-List-Original-Sender: adam@adamharvey.name X-Host-Fingerprint: 209.85.221.197 mail-qy0-f197.google.com Received: from [209.85.221.197] ([209.85.221.197:55574] helo=mail-qy0-f197.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 14/4F-08048-29351EB4 for ; Wed, 05 May 2010 07:16:34 -0400 Received: by qyk35 with SMTP id 35so7303660qyk.26 for ; Wed, 05 May 2010 04:16:31 -0700 (PDT) Received: by 10.224.78.148 with SMTP id l20mr6281757qak.67.1273058187366; Wed, 05 May 2010 04:16:27 -0700 (PDT) MIME-Version: 1.0 Sender: adam@adamharvey.name Received: by 10.229.37.74 with HTTP; Wed, 5 May 2010 04:16:07 -0700 (PDT) In-Reply-To: <4BE14FFE.4010501@gmail.com> References: <4BE13D64.2010700@gmail.com> <4BE14FFE.4010501@gmail.com> Date: Wed, 5 May 2010 19:16:07 +0800 X-Google-Sender-Auth: 603a8ed705b7f94e Message-ID: To: Steven Van Poeck Cc: Hannes Magnusson , internals@lists.php.net Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Re: Turkish/Azeri locale support From: aharvey@php.net (Adam Harvey) On 5 May 2010 19:01, Steven Van Poeck wrote: > Right. That's what I meant by inconsistent code. The call > $logs->getSQLLogger()->logSql("...") would function I presume. > The reason your example code does not is because it is inconsistent. You'= re > calling $logs->getSqlLogger() instead of $logs->getSQLLogger() Agreed, but not everyone's going to spot that first time, particularly the sorts of newer programmers we get quite a lot of writing PHP. Also, the error message you get out the other end is suboptimal, to say the least. I've been holding out on stating my reasoning much beyond my initial post and vote to try avoiding influencing anyone, but I'm opinionated, so here goes. :) Here's an example of my problem with enforcing case-sensitivity in general that builds on something Johannes said yesterday on IRC: how many people use different cases for the gd functions? Taking, say, imagestring as a simple example and having a quick look at Google Code Search, the variants people are using there are: ImageString: about 3000 results [0] imagestring: about 4000 results [1] imageString: 453 results [2] IMAGESTRING: 1 result [3] There are probably other variations in use too, and that's one of the more simply named functions in gd. The above example pretty much sums up why I went for option 1 instead of 2 in my vote: it's still a BC break, but I honestly thing it's going to be a much more minor break (remember, it only affects people in certain Western European locales such as French, Spanish and German who are _also_ using single-byte encodings =E2=80=94 most Linux distros I k= now of are shipping with UTF-8 as a default, so they're already effectively case-sensitive for non-ASCII characters) than changing the entire language and probably causing issues in a wide variety of applications. If I was designing the language anew, sure, I'd go for case-sensitivity the whole way, but as things stand, I'm pretty dubious it would work out. Adam [0] http://www.google.com.au/codesearch?as_q=3D%22ImageString%22&btnG=3DSea= rch+Code&hl=3Den&as_lang=3Dphp&as_license_restrict=3Di&as_license=3D&as_pac= kage=3D&as_filename=3D&as_case=3Dy [1] http://www.google.com.au/codesearch?as_q=3Dimagestring&btnG=3DSearch+Co= de&hl=3Den&as_lang=3Dphp&as_license_restrict=3Di&as_license=3D&as_package= =3D&as_filename=3D&as_case=3Dy [2] http://www.google.com.au/codesearch?as_q=3DimageString&btnG=3DSearch+Co= de&hl=3Den&as_lang=3Dphp&as_license_restrict=3Di&as_license=3D&as_package= =3D&as_filename=3D&as_case=3Dy [3] http://www.google.com.au/codesearch?as_q=3DIMAGESTRING&btnG=3DSearch+Co= de&hl=3Den&as_lang=3Dphp&as_license_restrict=3Di&as_license=3D&as_package= =3D&as_filename=3D&as_case=3Dy