3 ms·
The author seems to lack the technical background to write about the topic. All IRC messages are simple strings in the augmented BNF representation. He does n
by andor 14y ago
The author seems to lack the technical background to write about the topic.
All IRC messages are simple strings in the augmented BNF representation.
He does not know what a formal language is.
The difference between a command and a message is just the prefix that you type in the client. Any message that you type beginning with the "/" character is interpreted as a command.
He is confusing the IRC protocol with a user interface now.
- ad93611 14y agoHow would you explain it?
- andor 14y ago1) BNF [0] is a notation [1] for formally defining languages [2], e.g. the syntax [3] of programming languages like C [4] or Java [5], or in this case, the IRC protocol. Every BNF definition is a bunch of strings. BNF is not a data model [6][7], a serialization format or a language for representing IRC messages (as XML is for XMPP). You are correct in that IRC is a much simpler protocol than IRC, though. 2) There is no difference between commands and messages in IRC, because to send a message, the command PRIVMSG [8] is invoked: JOIN #channel NAMES #channel PRIVMSG #channel :Hello interwebs! The fact that commands in IRC clients begin with a slash is a UI convention, and unrelated to the protocol. [0] http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form [1] http://en.wikipedia.org/wiki/Mathematical_notation http://en.wikipedia.org/wiki/Mathematical_notation [2] http://en.wikipedia.org/wiki/Formal_language http://en.wikipedia.org/wiki/Formal_language [3] http://en.wikipedia.org/wiki/Syntax_(programming_languages) http://en.wikipedia.org/wiki/Syntax_(programming_languages) [4] http://www.cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%20syntax%20of%20C%20in%20Backus-Naur%20form.htm http://www.cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%2... [5] http://www.cs.au.dk/~stm/RegAut/JavaBNF.html http://www.cs.au.dk/~stm/RegAut/JavaBNF.html [6] http://en.wikipedia.org/wiki/Abstract_data_type http://en.wikipedia.org/wiki/Abstract_data_type [7] http://en.wikipedia.org/wiki/Data_structure http://en.wikipedia.org/wiki/Data_structure [8] http://tools.ietf.org/html/rfc1459.html#section-4.4 http://tools.ietf.org/html/rfc1459.html#section-4.4
- zokier 14y agoAlso this statement is quite awkward: IRC messages are short because they are simple ASCII text strings in a specific format. First of all, encoding issues are a major pain point in IRC. Luckily most people use UTF-8 now, but the transition from legacy 8-bit encodings was not easy. Considering the history of IRC, I don't believe that IRC ever used plain ASCII. Secondly, what is XML but "text strings in a specific format"? That's incredibly vague statement to begin with.
- ad93611 14y agoI misunderstood the encoding in the IRC protocol. I reworded the section that both of you mention. Thanks!