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.
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.
1)
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:
Comments
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.
Also 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.
I misunderstood the encoding in the IRC protocol. I reworded the section that both of you mention. Thanks!
How would you explain it?
1) 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:
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
[1] http://en.wikipedia.org/wiki/Mathematical_notation
[2] http://en.wikipedia.org/wiki/Formal_language
[3] http://en.wikipedia.org/wiki/Syntax_(programming_languages)
[4] http://www.cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%2...
[5] http://www.cs.au.dk/~stm/RegAut/JavaBNF.html
[6] http://en.wikipedia.org/wiki/Abstract_data_type
[7] http://en.wikipedia.org/wiki/Data_structure
[8] http://tools.ietf.org/html/rfc1459.html#section-4.4