A truly wonky and stupid protocol that could've been done so much better. Good grief. And I say this not just being a permanent IRC resident since over 10 years, but having written both an IRC client and a bot-of-sorts.
The IRC protocol does exactly what it sets out to do, and there isn't really much over-the-wire overhead for client connections. The only information that's repeated unnecessarily is user hostmask data; everything else is mostly 100% useful.
It could really have only been a bit better if each event was described in a JSON- or YAML-like notation, but this was 1988, not 2008.
Compared to tons of other legacy protocols in use today (FTP!?), IRC isn't all that bad.
But, yes, anyone who complains about a new boziod protocol should be forced to look at the wonders and horrors of FTP, especially in the context of NATs.
"Gee, if only I could chat with two people in the same window..."