Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #166023
| Newsgroups | comp.lang.c |
|---|---|
| Date | 2022-04-29 03:01 -0700 |
| References | (10 earlier) <87y1zqmkol.fsf@bsb.me.uk> <t4di33$48o$1@dont-email.me> <871qxhmtjo.fsf@bsb.me.uk> <20220428134915.360@kylheku.com> <t4g66o$otp$1@dont-email.me> |
| Message-ID | <a7dacaa3-157a-4fbe-84e2-c2e006f34afdn@googlegroups.com> (permalink) |
| Subject | Re: operator precedence |
| From | Malcolm McLean <malcolm.arthur.mclean@gmail.com> |
On Friday, 29 April 2022 at 09:04:53 UTC+1, David Brown wrote: > On 28/04/2022 22:51, Kaz Kylheku wrote: > > On 2022-04-28, Ben <ben.u...@bsb.me.uk> wrote: > >> David Brown <david...@hesbynett.no> writes: > >> > >>> On 27/04/2022 20:43, Ben wrote: > >>>> David Brown <david...@hesbynett.no> writes: > >>>> > >>>>> You don't need parenthesis because in written mathematics, size of > >>>>> spacing /is/ significant. > >>>> Is it? Where can I find out about this? > >>>> > >>> > >>> I mean the way you space things in how you write mathematics gives > >>> additional information, in a way that cannot be done in a programming > >>> language. > >>> > >>> If you see mathematics written : > >>> > >>> 10 × 2+3 > >>> > >>> you'll interpret it differently from : > >>> > >>> 10×2 + 3 > >> > >> Where does this come from? > > > > Human error; some people will make the mistake some of the time > > due to following visual clues over formal syntax, mistaking > > closer spacing for tighter binding. > > > > It't the same as: > > > > char* p, q; // oops, q is of type char, not char *. > > > > > Yes. > > Spacing influences how people read things - it is significant to people. > It does not affect how the compiler sees things (once you have the > bare minimum for the syntax, of course). So IMHO using spacing as an > extra clue to intent is useful in written mathematics, but can be > directly counter-productive in programming - it is akin to using > comments to say something that could be better expressed in code. Of > course you should still use spacing to make things as clear as you > reasonably can (and thus write "char *p, q;" - though it is usually much > better to write them separately as "char *p; char q;"). But it is a > mistake to use human-only indicators of intent when you can use > something that is interpreted equally by humans and the compiler. > You can't have it both ways. Either you advise using spacing to help indicate intent, or you don't. In fact I would advise doing so. image[y*width + x] = col; is arguably a bit easier to read because it is more obvious that the width associates with the y. Of course the language itself won't treat whitespace as significant, and that's also a wise decision - we don't want to change the long-established mathematical conventions. When parentheses are not strictly necessary, but it's not obvious what the precedence is, as in rack << Nbits + 1; You could either using spacing or parentheses to give an extra cue. I would advise parentheses to make it absolutely unambiguous, however remembering the rule of three for nesting.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar
Re: operator precedence Guillaume <message@bottle.org> - 2022-04-10 20:01 +0200
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-10 20:34 +0100
Re: operator precedence Guillaume <message@bottle.org> - 2022-04-11 20:52 +0200
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-11 21:27 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-14 13:38 +0200
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-14 14:07 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-18 14:00 +0200
Re: operator precedence Guillaume <message@bottle.org> - 2022-04-15 19:28 +0200
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-15 19:25 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-18 14:12 +0200
Re: operator precedence Kaz Kylheku <480-992-1380@kylheku.com> - 2022-04-18 16:38 +0000
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-18 19:20 +0200
Re: operator precedence Kaz Kylheku <480-992-1380@kylheku.com> - 2022-04-19 17:40 +0000
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-19 22:41 +0200
Re: operator precedence James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-04-18 23:08 -0400
Re: operator precedence Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-04-25 08:40 -0700
Re: operator precedence "james...@alumni.caltech.edu" <jameskuyper@alumni.caltech.edu> - 2022-04-25 10:35 -0700
Re: operator precedence Vir Campestris <vir.campestris@invalid.invalid> - 2022-04-10 21:51 +0100
Re: operator precedence Bonita Montero <Bonita.Montero@gmail.com> - 2022-04-11 11:35 +0200
Re: operator precedence gazelle@shell.xmission.com (Kenny McCormack) - 2022-04-11 13:53 +0000
Re: operator precedence Guillaume <message@bottle.org> - 2022-04-11 20:36 +0200
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-14 13:14 +0200
Re: operator precedence Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-04-25 11:10 -0700
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-25 20:52 +0200
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-25 21:18 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-26 15:30 +0200
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-26 15:58 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-26 21:19 +0200
Re: operator precedence Sams Lara <samlara622@gmail.com> - 2022-04-27 02:15 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-27 09:13 +0200
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-27 19:43 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-28 10:09 +0200
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-28 10:44 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-28 11:59 +0200
Re: operator precedence Giovanni <lsodgf0@home.net.it> - 2022-04-28 12:29 +0200
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-28 12:56 +0200
Re: operator precedence Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2022-04-28 04:17 -0700
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-28 12:24 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-28 14:28 +0200
Re: operator precedence Dan Purgert <dan@djph.net> - 2022-04-28 14:00 +0000
Re: operator precedence Dan Purgert <dan@djph.net> - 2022-04-28 14:38 +0000
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-28 20:36 +0100
Re: operator precedence Richard Harnden <richard.nospam@gmail.com> - 2022-04-28 21:22 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-29 09:43 +0200
Re: operator precedence Kaz Kylheku <480-992-1380@kylheku.com> - 2022-04-28 20:51 +0000
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-29 10:04 +0200
Re: operator precedence Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2022-04-29 03:01 -0700
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-29 15:02 +0200
Re: operator precedence James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-04-29 10:48 -0400
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-29 17:29 +0200
Re: operator precedence bart c <bart4858@gmail.com> - 2022-04-26 14:30 -0700
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-27 00:00 +0100
Re: operator precedence David Brown <david.brown@hesbynett.no> - 2022-04-27 09:46 +0200
Re: operator precedence Öö Tiib <ootiib@hot.ee> - 2022-04-27 00:10 -0700
Re: operator precedence scott@slp53.sl.home (Scott Lurndal) - 2022-04-25 19:02 +0000
Re: operator precedence Ben <ben.usenet@bsb.me.uk> - 2022-04-25 21:38 +0100
Re: operator precedence Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-04-25 22:22 -0700
csiph-web