RE: [PHP-DEV] [SPAM] Re: [PHP-DEV] Syntactic improvement to array
| From: | Robert Cummings | Date: | Tue, 06 Feb 2007 16:09:24 +0000 |
| Subject: | RE: [PHP-DEV] [SPAM] Re: [PHP-DEV] Syntactic improvement to array | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-27861@lists.php.net to get a copy of this message | ||
On Tue, 2007-02-06 at 15:41 +0000, Ford, Mike wrote:
> On 06 February 2007 14:42, Robert Cummings wrote:
>
> > On Tue, 2007-02-06 at 14:08 +0000, Ford, Mike wrote:
> > > On 05 February 2007 17:29, Brian Moon wrote:
> > > > That is why you have coding standards. Our doucment states that
> > > > this should be written as:
> > > >
> > > > $a = array(
> > > > 1 => array('pears', 'apples'),
> > > > 2 => array('juice', 'oranges')
> > > > );
> > > >
> > > > I believe in either syntax, proper formatting of complex data can
> > > > solve the readablity problems.
> > >
> > > Solve, no. Alleviate, yes.
> > >
> > > Given the above, the layout tells me there's some kind of structure
> > > going on, but I still have to actually *read* it to discover
> > > that there are arrays involved (and where they start and end).
> > >
> > > With this version:
> > >
> > > $a = [
> > > 1 => ['pears', 'apples'],
> > > 2 => ['juice', 'oranges']
> > > ];
> > >
> > > I can take one glance and tell there are nested arrays involved, and
> > > what their scopes are -- I'd say my comprehension speed is at least
> > > an order of magnitude faster!
> > >
> > > *That* makes this syntax a no-brainer for me, personally ;-)
> >
> > Ummm, you still had to read it. One "glance" just so happens to
> > involve the brain grokking the content, just like reading.
>
> No, I didn't have to read it. I had to look at it and see its shape, and I may or may not
> have grokked it, but I didn't read it. I still have no idea what's actually *in* the
> arrays, I just know there are arrays and how they're structured. My brain, virtually
> instantaneously, goes, "Oh, brackets, nested arrays, 2 short arrays nested in an enclosing
> outer one!". I don't class that as reading, just visual comprehension.
>
> With the long version, my thought process goes more like "Uh, oh, indentation, must be
> some structure here. Can't see any obvious syntactic markers, just a mush of characters, so
> better read it. 'array', uh, ok an array, what's in it? explicit index 1 is, oh,
> 'array' again, ok, so we've got nested arrays, presumably this line is a
> self-contained inner array? let's see, 'pears', 'apples', and, oh yes, a
> proper matching close parenthesis; next line similar, explicit index 2, 'juice',
> 'oranges' and a close parenthesis, yup and a proper closing parenthesis for the outer
> array; right, 2 short arrays nested in an outer enclosing one." See how I've actually had
> to read and process *every* *single* *word* *and* *character* on the page? See how much slower it
> was? Now, that's what I call reading.
>
> My brain may be weird and unusual in working this way, but it does so I've become
> accustomed to it! I know it's off the norm in other areas (I have no problem keeping a dozen
> or so PINs in my head and reliably producing the right one without hesitation, and I generally
> remember personal ID, bank account and credit card numbers without even trying) so it wouldn't
> surprise me to find I'm way off the curve here too. Just permit me my little foibles, eh?
>
> Cheers!
I know how much you want to feel special, but here's the definition of
"read". Your description of how you interpret what you see falls into
this definition:
http://209.161.37.11/dictionary/read
Cheers,
Rob.
--
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com
|
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting |
| a powerful, scalable system for accessing system services |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for |
| creating re-usable components quickly and easily. |
`------------------------------------------------------------'