[racket] Help with sockets.
> XML is harder for almost everyone to deal with than JSON is. Sometimes it
> seems like almost no one designing XML schemas (mainly ad-hoc) uses XML in a
> way more sophisticated than they'd use JSON. And XML has a bunch of
> overbearing baggage. I only use XML when it's required by legacy
> interoperation, and I don't design anything new using XML.
>
Seconded. You do not want to use XML unless you are forced to. It's
not a good format for information interchange.
Here's a concrete example why:
https://github.com/dyoo/WeScheme/blob/master/src/org/wescheme/project/SourceCode.java#L61
You might wonder: why in the world does this do a Base64 encoding here?!
The reason is because certain Strings can't be represented in the Text
node of XML documents. We ran across this problem in practice when
students started writing programs and copying and pasting content from
the web, which introduced characters like vertical tabs and other
characters that can't be represented in XML text nodes.
So we were forced to escape the content. But as soon as you start
doing things, the use of XML looks more and more absurd.
Another reason why: http://en.wikipedia.org/wiki/Billion_laughs
The point is, XML is not a good data interchange format because the
defaults are not safe.