(no title)
cturner | 7 months ago
Awk is sold on pattern matching, and there are earlier technologies that do pattern-matching - ML, SNOBOL.
But awk's historic significance is something else: it was the embryonic scripting language. You could use it in an imperative manner, and in 1977 that showed a new path to interacting with a unix system. It allowed you to combine arithmetic, string manipulation, and limited forms of structured data processing in a single process without using a compiler.
Two language schools grew from imperative awk. (1) The scripting language that expose convenient access to filesystem and OS syscalls like perl/pike/python/ruby; (2) The tool control languages like tcl/lua/io.
It may also have influenced shell programming. Note that awk was released before the Bourne shell.
kqr|7 months ago
That said, I don't know how many other languages explicitly have cited awk as an inspiration, which was the criterion for this list.
assimpleaspossi|7 months ago
I often read answers to questions all over the internet where awk is part of the solution. Mainly serious programmers using BSD and Linux.
cturner|7 months ago
Unix gurus will recommend awk as a pattern matching and substitution tool.
But my comment was about awk the vanguard imperative scripting language. I don't know of anyone who recommends use of awk's imperative style over python in 2025.
As an exercise, I tried writing a simple roguelike in awk in an imperative style. Within twenty minutes, it felt obvious where perl came from.