I would love to know if you're using Arch Linux? There's got to be a good story about why it's not there, if not. Might be fun to hunt down if so (I like historical stories about that sort of decision making).
Aww. That's not terribly interesting at all. I mean, I get it, and I don't doubt it's validity. It's just so... mundane.
I would have thought there'd be utility in having a very small last-resort utility like ed by default. But then I don't use Vi much (or ed, normally I'm just touching up a file from the command line, so I use nano), so perhaps I'm out of touch.
ed has seen use in scripts -- for example, in Kernighan & Pike's The UNIX Programming Environment. `diff` can output an ed script to perform a patch, and that's what people used before `patch` was invented to make patching more robust. I'm surprised you can't rely on ed being present.
I'm working on a codebase right now which uses ed a lot in scripts. I probably wouldn't write new code which used it --- I like awk --- but it actually does the job pretty well.
Admittedly, the code does date back to 1984 in places.
It's not just Arch. I used to think ed was everywhere, so when I had to write some scripts that would be awful with sed I used ed.
And then it turned out that a lot of the platforms people run the scripts on, they had to install ed explicitly! Ha. Sorry, Arch/Debian/Fedora/Centos/OpenSUSE users.
Snark aside, it's a very well-written tutorial! I'm sure I'll end up referring to it at some point in the future.