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.
There is no standardized way to acquire the information required
in order to use FLUSH correctly. Without such information, it
would be better to just have a way to turn the system's buffering
off for selected files. FLUSH is, and will remain, a *very* badly
designed feature.
> There also is an imbalance between the cost of an unnecessary flush
> operation and not flushing when necessary. If you flush at a time it is
> not needed, the compiler (or I/O library) simply does a no-op. However,
> if the system does not flush when necessary, there is a serious risk of
> the loss of valuable information. I know. [...]
But, that's another reason *not* to require application programmers
to manually FLUSH. A thing that's dangerous to omit should always
happen automatically. Overriding that should be the thing that takes
extra syntax.
--
J. Giles
|