tags:

views:

410

answers:

4

I read that after years yaml will be used instead of xml. Please compare the relative advantages and disadvantages of each specification.

+4  A: 

YAML is less verbose than XML; however, YAML is meant just for data and is not technically a markup language (YAML A'int Markup Language).

Here is an interesting comparison of the two:

http://www.kuro5hin.org/story/2004/10/29/14225/062

cakeforcerberus
+2  A: 

The main advantage that I see is that it is more easily human readable. I also like it a little better than XML because it has the concept of certain data structures (dictionaries and arrays) already built in.

On the flip side, the library support for parsing YAML is nowhere near that of XML, so it is harder to use it to fulfill one of the prime uses of XML. That is inter-application communication.

EBGreen
+8  A: 

YAML is much less verbose. The signal-to-noise ration is higher without all the brackets. This makes it subjectively easier to read and edit for many people. On the flip side, it's slightly (only slightly) harder to parse.

The biggest difference, though, is that XML is meant to be a markup language and YAML is really more of a data format. Representing simple, hierarchical data tends to be more gracefully done in YAML, but actual marked-up text is awkward to represent.

EDIT: I'd like to add, for reference, that YAML is intended to be a "cleaner" version of JSON ("Javascript Object Notation") that largely eliminates the latter's perceived line noise (brackets and braces). If you can't find a suitable YAML library for a particular project, then JSON is a more widely-supported alternative with many of YAML's advantages.

Thom Smith
A: 

I'm not so convinced about YAML being the future. Whilst I've used it, and it WorksForMe™, I have often seem complaints about the spec. The latest of which is Why I Don't Like YAML.

Dominic Mitchell