←back to thread

IRCd service (2024)

(example.fi)
105 points pabs3 | 1 comments | | HN request time: 0s | source
Show context
epistasis ◴[] No.45755969[source]
A couple decades ago I remember somebody using awk in programming competitions, as a stunt, and doing surprisingly well. For tasks involving text processing it has a huge advantage, and it ends up doing ok with other stuff.
replies(3): >>45756120 #>>45756493 #>>45757286 #
ajross ◴[] No.45756120[source]
What I always point out though is the bathtub curve of that perception.

Awk started life as a unique, weird, but extremely clever and expressive environment with which you could do tricks that were impractical anywhere else. And that's sort of back where it is now.

But for a solid decade and a half, awk was a forgotten dinosaur that no one cared about. Because in the era where Everyone Knew Perl, awk had no home. Perl was awk but bigger and better.

But now all us perl nuts have moved on or gone silent, all the kids are writing code for node or python or whatnot, and No One Knows Perl.

And in a world where no one knows perl, awk looks clever again.

replies(2): >>45756779 #>>45757400 #
rtpg ◴[] No.45757400[source]
Does perl have an awk-y mode? Or is this just "perl has a bunch of regex-y things to make everything flow well".
replies(2): >>45757947 #>>45759781 #
1. shawn_w ◴[] No.45757947[source]
It has options to split up input into fields and loop over every line for one-liners, yeah. For a trivial example,

    awk '{ print $2 }' foo.txt
becomes

    perl -lane 'print $F[1]' foo.txt
I'm one of those people who out off learning awk for a decade+ because I knew perl, but when I finally picked it up I found it's often simpler and cleaner. I still switch to perl for complicated processing but awk can get a lot done.