order of evaluation parse date s - (nf)
tektronix!zehntel!zinfandel!mark
tektronix!zehntel!zinfandel!mark
Wed Mar 16 01:19:52 AEST 1983
#R:houxj:-22000:zinfandel:14600004:000:1416
zinfandel!mark Mar 10 11:28:00 1983
Michael Wagner has a very good point: readability by humans.
When I run across like that being discussed here I have to decide:
1. How does this code work on the machine for which the
author wrote it?
2. How does it work on the machine(s) on which I intend
to run it?
3. If they are different does it matter?
4. If it matters, is it
a. necessary (eg, fix differences in the machines)
b. a "feature" (ie, can be tolerated)
c. a "bug" (ie, must be fixed)
5. Did the author consider any or all of (1)-(5)?
6. If so, do I think s/he was correct on all of them?
7. If not, am I missing something or is the author?
8. If the author didn't consider all of the points, or was wrong
on some of them, how closely should I look at the rest
of the code for other non-portable constructs?
In other words, even if the code works probably on all existing and known
machines and compilers I have to waste a lot of time on the code,
even if it turns out to be ok.
I don't care if the compiler can sort things out if people can't;
such features should be used, even when portable, without a very
compelling reason.
Mark Wittenberg
...!decvax!sytek!zehntel!mark
PS. I can't think of any compelling reasons for the examples mentioned here.
PPS. I also don't like use of ADA overloading for similar reasons;
please direct all flames to /dev/null, as I don't want to start
ADA debates here.
More information about the Comp.lang.c
mailing list