[comp.lang.c] Expression rearrangement

colin@vu-vlsi.UUCP (04/12/87)

In article <852@bobkat.UUCP> m5d@bobkat.UUCP (Mike McNally (Man Insane)) writes:
>
>Seriously, I cannot think of a SINGLE case in all my life when I suffered
>from expression rearrangement.  The same goes for all the programmers 
>in my office (4 others).  Do we just write different kinds of programs?
>Note that I'm not doubting these parentheses horror stories; I just
>think it's fascinating that I've never had one.  Oh well.

I have never suffered from expression rearrangement either.  But what I find
ironic is all the FORTRAN types who have been posting to this group recently
saying "Oh my God, you mean all this time my expressions were being rearranged,
and I didn't even know about it!?  This has got to stop!"  I haven't seen any
postings yet which actually provided evidence that C's current behavior
(expressions MAY be rearranged, regardless of parentheses) has lead to all
the nasty under/overflow problems we've been warned about.  The truth of the
matter is that in most expressions, order of evaluation is immaterial.  And
even when it matters, the average programmer is very unlikely to have taken
it into account.  Yes, I know you numerical experts _have_ taken it into
account, but that's the point--unary plus is for the experts!  I simply
don't believe the argument that the average programmer _has_ taken under/
overflow into account and has structured his expressions accordingly, but
will forget to use unary plus...

I vote that we keep unary plus in the standard.  But PLEASE, can we get rid
of that 6-character identifier limit?  [I will be overjoyed if someone can
tell me that it has already been removed from the standard!]  I'm certain
that the limit was set at 6 to support some sh*tty linker written in the
dark ages (IBM perhaps? :-), but that's no excuse in 1987.  If the standard
allows only 6-character identifiers, then that's what we'll get.  I submit
as evidence the ANSI FORTRAN-77 standard, which apparently also set the
limit to 6.  Up until a month ago, Microsoft's FORTRAN compiler still
supported only 6-character identifiers, regardless of the fact that that
their other languages (as well as their linker) support identifier lengths up
in the 30s or 40s somewhere.  This was a case of lazy programming--the
standard said they could get away with it, so they did!  Let's not let
that happen again with ANSI C...

A long identifier fanatic,

	-Colin Kelley  ..{cbmvax,pyrnj,bpa}!vu-vlsi!colin