[TUHS] The AWK Programming Language, 2nd Ed.: What's new?

arnold at skeeve.com arnold at skeeve.com
Mon Sep 11 05:41:34 AEST 2023


Hi.

markus schnalke <meillo at marmaro.de> wrote:

> Hoi,
>
> I just discovered that one of my favorite computer books about my
> best liked programming language (besides C) releases in a second
> edition. Does anyone know what the differences of 1st and 2nd
> edition are?
>
> As the original book is almost perfect, the only rework and
> extension direction I can think of is towards different
> implementations like gawk, mawk, portability and such things.
>
> Does anyone know more about it? Maybe some inside information? ;-)
>
> meillo

Inside information? As it happens, yes, I do have some. :-)
(I was a reviewer.)

[In the below, "awk" means Brian Kernighan's awk.]

In the 36 (!) years since the first edition was published, awk
has undergone, shall we say, a large number of small changes. These
are listed in the FIXES file currently in the master branch of
https://github.com/onetrueawk/awk.

In addition, Brian Kernighan decided to add support for UTF-8 input,
which is what awk now expects, and support for CSV input files when
invoked with the --csv option. Furthermore, there is a new \u escape
sequence which must be followed by 1-8 hexadecimal digits for specifying
Unicode code points.

The book itself has been carefully revised. The large second chapter
which was a reference to the full language was moved to an appendix.
Many of the example programs from the first edition were retained
and updated, but there is also quite of lot of pleasing new material.

There is mention of, and occasional comparison with, gawk, mawk and
Ben Hoyt's GoAwk, but by and large the focus is on the authors' version.

The new code is currently in the "csv" branch of the above Github
repo.  The maintainer is in the process of tidying up the repo (dealing
with issues and pull requests) and will merge the csv branch into
master sometime in the very near future.

I'm told that the printed books with get to the publisher's warehouse
towards the end of September. The book is available now on O'Reilly's
Safari learning site (safari.oreilly.com) for anyone who has a
subscription.

Matching code (--csv and \u) are in gawk's master branch now. I will
make a release this fall, after the new code has moved into master
in BWK's awk.

I heartily recommend the book; it is totally up to Brian Kernighan's
usual very high standard.

Enjoy,

Arnold


More information about the TUHS mailing list