5 ms·
IRC is not simple. Simple if you want to write a bot for a specific channel on a specific server, I suppose; but infuriatingly difficult to write a client for.
by rerdavies 3y ago
IRC is not simple. Simple if you want to write a bot for a specific channel on a specific server, I suppose; but infuriatingly difficult to write a client for.
The curse of IRC: no standardization. There have been two major attempts to define a standardized version of IRC, neither of which has been successful, and neither of which are entirely adequate.
There are literally hundreds of messages, a large number of which are server-specific, and no two servers work remotely the same.
The protocol is also painfully bound to terminal-style user interfaces. Wrapping a clean graphical user interface around the protocol is difficult if not impossible. And any attempt to do so will require extensive customization for each server variant that the UI intends to support. And anything less than a clean wrap produces a user-interface that demands a sort of computer literacy that ordinary and casual users should not be expected to have.
Character set support is also fascinatingly and tragically broken. The ACTUAL official standard character set: Western European, with DEL replaced with an additional character to support Norwegian users. In practice choice of character set is cultural and varies from server to server, and from channel to channel. Some use Western European character codings, others use local or national codepages, many (but far from all) use UNICODE.
- vilunov 3y agoThis might have been true some years ago, but I cannot agree with it now. There is a well-written IRCv3 spec, which I was following when implementing my own IRC server. I also tested it with several clients and I found out that core functionality and official extensions are pretty consistent. Bugs that I encountered always were a misinterpretation of the spec either by me, or by the relatively new IRC client that I was testing with, but they are fixed now. The encoding is almost always UTF-8, I never encountered anything else on any network I used. Yes, some networks may be stuck in the past, that's unfortunate, but the modern IRC is pretty good. Also custom extensions are not a problem since the capability negotiation was introduced.
- lifthrasiir 3y ago> The encoding is almost always UTF-8, I never encountered anything else on any network I used. Mainly because there are only a handful of living IRC networks anyway. Korean IRC networks are virtually vanished as of mid-2010s (and I operated one of last such networks), and while many have migrated to UTF-8, EUC-KR never died even at that point. Honestly speaking, the modern IRC doesn't exist. The IRC today, which you refer as the "modern" IRC, is actually what IRC should have been at least a decade ago. Korean networks didn't even get to that point.