As this and subsequent chapters show, gawk
has a
large number of extensions over standard awk
built-in to
the program. These have developed over time. More recently, the
focus has moved to using the extension mechanism (see Writing Extensions for gawk
)
for adding features. This section discusses the “guiding philosophy”
behind what should be added to the interpreter as a built-in
feature versus what should be done in extensions.
There are several goals:
awk
; it should not become unrecognizable, even
if programs in it will only run on gawk
.
awk
scripts (-f,
@include
) or in loadable extensions written in C or C++
(-l, @load
).
Combining modules with awk
files is a powerful technique.
Some of the sample extensions demonstrate this.
Loading extensions and library files should not be done automatically, because then there’s overhead that most users don’t want or need.