> The lack of conversations/threading is really annoying.
Slack is arguably worse - they recently added threading (really comments that can go on a post - there is no nesting), but this has made me much more likely to miss any follow-up because messages are less visible than otherwise.
> By default there seems to be a lot of leave/join spam. I used IRC for a year before turning this off and it vastly improved my experience.
This is entirely client dependent, so not really a fault of IRC. Slack has the same option, it just defaults to not displaying it like clients as opposed to whatever IRC client you used.
> I think most clients don't save anything by default. When I reboot my computer and don't log in again, I miss messages.
Yes. I don't know the inner workings, but generally if you're offline on IRC you will miss anything directed at you. Slack definitely addresses this, and it is my favorite "feature" - it means that Slack is not good for only casual discussions. (Slack's search is my second fav, and there's nothing special about that, it just works well enough that I can usually find that comment I vaguely recall someone making within the last 6 months on one of the many channels I'm on).
I expect this is largely a client issue, though I also imagine that most IRC servers have a very limited amount of immediately available conversation. Remembering that you have direct messages waiting for you would require servers that reserve nicks. That's all guessing though.
- Having to use pastebins for code is annoying.
Slack allows for posting code in text, posting text "snippets" that can include code, and posting files that can be downloaded.
Overall your frustrations seem very reasonable, but from the sound of it you're "hanging out" on IRC channels that are being friendly for outside users to drop in and out, and for devs to have conversations that are considered temporary. Plus not having users post goatse pics or worse. Which means they aren't even TRYING to accomplish what you want. Hard to blame IRC in that case - those features aren't used even when available.
I'm not exactly saying "You just need to use IRC client X" as you predicted, but more "you probably just need to change a config and connect to IRC servers that are INTENDED to do what you want". Not wanting to go through that effort is fine, and I'm not saying Slack and other alternatives are worse or even equal for those tasks, but don't blame the plane for not flying when the pilot is making donuts on the runway.