Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:99309 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 10157 invoked from network); 1 Jun 2017 12:47:37 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 1 Jun 2017 12:47:37 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.42 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.42 mail-wm0-f42.google.com Received: from [74.125.82.42] ([74.125.82.42:36517] helo=mail-wm0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B7/C3-43873-7EC00395 for ; Thu, 01 Jun 2017 08:47:36 -0400 Received: by mail-wm0-f42.google.com with SMTP id 7so156629657wmo.1 for ; Thu, 01 Jun 2017 05:47:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:user-agent:in-reply-to:references:mime-version :content-transfer-encoding:subject:to:from:message-id; bh=3BaPORYPz4s7c7HO90kXlMz59wbL26edBBWiXv+Dm00=; b=lcrqvHS6Bic/FN1qKmF1jPkCjv9OmliFS2GC/59udAa07K0EtkxDeCMt89eFjawhw4 y8AcyKlCc1YDwqAV4I0cDooZOu5nBHgjxVblA4NjZ7OCfoexJUTST8Ed/vQcXOhK2sAP Zt4Z63Zl2hjPLn9xVsMd/DAiQF8kuwoyEV0uDRTScH+QTrZWoXWOEzw95T8h84kVQz7B Cvup6tqb+6h41JNMQ7i0nh+P0JN6j3EUG6DWOwyoda4+I7DMcJPmYlh8WgFjLflZkvu0 BLM8jwceLdWAkWJOMCA5sKPKzgcujYn3ZfP48HfjfKh1eS4y+UyvsT/GScO37NTpx5PU p3ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:user-agent:in-reply-to:references :mime-version:content-transfer-encoding:subject:to:from:message-id; bh=3BaPORYPz4s7c7HO90kXlMz59wbL26edBBWiXv+Dm00=; b=oMDLjAb0sebQTWgyWDSIJIbyNeO4OKaYscMdZ06BKU0JC7KGn8TnurRP0FCA2p6UKX Yr16AzVnVMfHeDKuTbWi0jT++RPk7r0yJyfFANYdnOe58i1h6ESFILJPUJw0Vb3lVkBj N5rpWxbjD21KtvfP6L/ASA+zOpwTbgfguzJqjPYG67ut7Auv0RKEulC6E+zozbKQ26/V viF9lgo0QSqsf//VuUqnYONq0Quey3cOPWn54mhnwLkS30cQiOI22jPMg9pKWBozoB2W o5ywRU0Fx4ILedSekf7xk+wYdGQ7/teXFFMxBPBmQ4H1O7qmzXhd426mBr4BkicWIK// hKEQ== X-Gm-Message-State: AODbwcB7nZIHmxieK/mjyCkPAO8vVoqr3buqfA00cZcjIPGwFmoqQYuU h/a4PsfDUFvb7SngWIU= X-Received: by 10.28.20.14 with SMTP id 14mr1638347wmu.52.1496321252343; Thu, 01 Jun 2017 05:47:32 -0700 (PDT) Received: from [10.177.154.121] (92.40.248.252.threembb.co.uk. [92.40.248.252]) by smtp.gmail.com with ESMTPSA id 201sm26907390wmh.22.2017.06.01.05.47.30 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 01 Jun 2017 05:47:31 -0700 (PDT) Date: Thu, 01 Jun 2017 13:47:25 +0100 User-Agent: K-9 Mail for Android In-Reply-To: <51.72.43873.46BDF295@pb1.pair.com> References: <9dffe898-e550-c6d6-46bd-86dcf74735ea@fleshgrinder.com> <9652e487-86e7-20b7-ca1f-bd28a94f514b@gmail.com> <86dba466-a764-522b-6990-39fd7668a79c@fleshgrinder.com> <51.72.43873.46BDF295@pb1.pair.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable To: internals@lists.php.net Message-ID: <41F2B884-5DB7-4691-B540-97B0DAEAAFF5@gmail.com> Subject: Re: [PHP-DEV] Class Naming in Core From: rowan.collins@gmail.com (Rowan Collins) On 1 June 2017 10:16:16 BST, Tony Marston wrote= : >"Rowan Collins" wrote in message=20 >news:CEF783BB-8E1F-4A20-9CC6-1364A122BECC@gmail=2Ecom=2E=2E=2E >> >>On 31 May 2017 10:26:06 BST, Tony Marston >wrote: >>>wrote in message >>>news:86dba466-a764-522b-6990-39fd7668a79c@fleshgrinder=2Ecom=2E=2E=2E >>>I should point out that snake_case was the universal standard decades >>>before some people switched to CamelCase=2E >> >>[citation needed] > >My first job in computing was with a UNIVAC 1108 mainframe in the >1970s=2E=20 >This used a 6-bit character instead of an 8-bit byte, which meant that >it=20 >could support upper case characters, but not lower case=2E Where a name >was=20 >comprised of several words an underscore separator was used, as in=20 >"end_of_file"=2E Fascinating, but doesn't make it "universal", or frankly have anything to = do with how we write code 40 years later=2E >>> That was only because some software could >>>not handle long names, but could handle both upper and lower case, so >>>an upper case character was used instead of an underscore=2E >> >>[citation needed] > >Try reading=20 >https://en=2Ewikipedia=2Eorg/wiki/Naming_convention_(programming)#Length_= of_identifiers Mentions absolutely nothing about the origins of CamelCase, which a quick = search suggests is somewhat unknown=2E One theory is apparently environment= s whose character sets had replaced underscore with a left-arrow assignment= operator=2E Which, again, is fascinating but is as irrelevant to designing= modern languages as the origins of the word "beef" is to ordering a cheese= burger=2E >Some studies have shown that that most people find it easier to read=20 >compound names which use the underscore separator=2E Look at the >following: > >https://en=2Ewikipedia=2Eorg/wiki/Camel_case#Readability_studies >https://en=2Ewikipedia=2Eorg/wiki/Snake_case (first paragraph) This, however, is at least tangentially relevant to the original topic, si= nce it shows some reasons to pick one convention over the other=2E Even more relevant would be studies testing the advantages of having a con= vention at all, which I would expect to include increased efficiency and re= duced mistakes because it's easier to remember a list of items that follow = a fixed pattern=2E Regards, --=20 Rowan Collins [IMSoP]