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