The reference to "Programming Perl" was no doubt helped along by Perl developer Jesse Sheidlower who worked at the OED in the early 2000s. From his Wikipedia page: "Although not a computer programmer by training, Sheidlower introduced Perl to the North American offices of Oxford University Press and developed tools for data manipulation when no programmers were available. He is also one of the core developers of Catalyst, a popular Perl web development framework."
That still might run afoul of locked down networks like I've seen at banks. Users couldn't install any binaries at all, but with something like ack it's just cut & paste some text into a text file. ack can literally be a select-all, Ctrl-C, switch windows, "cat > ack", Ctrl-V.
"grep | head" doesn't limit the length of output lines, but "grep | cut" would.
However, ack and ripgrep's default unpiped output is grouped by file, and if you pipe the output, it doesn't do the grouped output.
The idea of "supposed to be used" is also different for ack than it is for grep. ack is specifically less of a general-use tool than grep. It's meant for searching source code. This is also why I have never said that ack is a replacement for grep.
The "print lines by number" was there because earlier versions of ack had a `--line=N` feature, where you could say "ack --line=15-18" and print those four lines. I dropped it because it was hardly any better than using sed.
If you've got suggestions on improvements, please submit an issue. I'd love to hear them.
I originally had it as a "phrasebook" of how to do the same thing in the different tools, but it was really ugly and took up a lot of horizontal space, and I figured it was more useful as a chart of yes/no. Also, there were cases where two tools had pretty much the same feature, but not exactly, so just listing flags didn't make sense.
I've still got a lot of the data of the switches in the JSON file that I build the chart from. https://github.com/beyondgrep/website/blob/dev/features.json If you've got ideas on how to bring back the phrasebook format, either integrated into this page, or as a separate standalone page, I'd love to hear them. Maybe the phrasebook isn't best done as a table like this, for example. Open a ticket in GitHub and let me know your thoughts.
I'm glad you appreciate that you can install ack anywhere. It's exactly for that use case that I have kept ack able to be a single text file download. Also, it only requires Perl 5.10.1, so it's OK if you're using an old Perl.
Please note that the chart is a bit out of date. ripgrep has some features that aren't shown on the chart yet. Patches welcome if anyone wants to help.