Yes. Examples like the one linked make it appear that awk is write-only language, which it really isn't.
'awk' is really a very beautiful little language. It's concise enough to solve many tasks in a single line, making it easy to use interactively while still being able to grow to moderately-sized scripts. It's not supposed to replace a full-blown scripting language like Python, but for processing files line-by-line it's superb.
You can always write AWK in a file and read the script with -f, making it fully readable (and AWK is quite a pleasantly readable and surprisingly versatile language to write at that point)
awk '{ if (! visited[$0]) { print $0; visited[$0] = 1 } }'