[
Lists Home |
Date Index |
Thread Index
]
- From: Rick JELLIFFE <ricko@geotempo.com>
- Date: Tue, 07 Nov 2000 19:54:05 +0800
> "Henry S. Thompson" wrote:
> > There's a widely-supported assertion in computer science that
> > text-substitution macros are dangerous mechanisms to use to bring
> > extensibility to a language.
Yes, but it should not be over-rated. When dealing with variants and
time, many systems end up coming back to text substitution: if the
language does not provide ways to do it then some source code control
system ends up providing it by magic (internal storage of diffs, or
other entity-level issues).
There is some complexity that it is fruitful to model with general
abstractions, and other complexity is rather arbitrary and is better
handled by a low-level mechanism that at least allows the Job to get
done. The common phenomenon in C++ was that people continued to use
#ifdef to handle variants (such as different localized versions, or
versions for different platforms) even when using objects: by
partitioning off difficult issues into a low-level mechanism they made
cleaner use of the abstraction mechanism.
Rick Jelliffe
|