Craig Dedo wrote:
...
> Unfortunately, Mr. Giles misses the main point of standardization.
> The point of standardizing anything is so that the user of the standard
> can have predictable behavior of the thing that is standardized. This
> results in tremendous reduction of wasted time and effort. In fact,
> complex technological products are impossible without standards that are
> widely recognized and used.
As long as we're pontificating on the purpose of standards, there
are two:
a) To make the language (or whatever) more useful.
b) To make the language (or whatever) more portable.
FLUSH fails miserably on the first point. Whether it succeeds
on the second depends on what the alternative is. I would prefer
tha the rule be similar to what I've implemented in Fortran I/O
support (for those poorly designed systems that still require
FLUSH):
1) By default, the processing of all WRITE statements include an
implicit FLUSH.
2) An OPEN statement option can permit WRITEs to be buffered.
3) No FLUSH statement is present. It's never needed. All output
is either flushed automatically, or the programmer has guaranteed
that buffering is safe for that file.
Now, that makes the language more useful. There's less to forget and
get wrong. Those that want to permit the system's buffering have that
choice. It's also portably implementable. Eventually, when well designed
systems come back on the market, the distinction between the two flavors
of OPEN will disappear.
--
J. Giles
|