Que tipo de aplicação/utilização, o YAML melhor para?
Pergunta
Por que escolher YAML sobre o XML ou outros formatos?
Solução
Concordo com o Sergio;YAML fornece um formato que é facilmente editável por seres humanos, mas também uma boa maneira correta de representar estruturas de dados.
YAML tende a ser muito mais legível, IMO.
YAML é mais do que uma data serialisation técnica, em vez de uma linguagem de marcação.
Outras dicas
YAML's principais vantagens são a legibilidade e compacidade.Ah, e é amplamente suportado por várias plataformas e linguagens.
YAML é muito popular na comunidade Ruby, onde é usado principalmente na preferência XML para arquivos de configuração em Rails e Merb, por exemplo.
Eu iria escolher YAML se os documentos necessários para ser editado ou criado pelo homem.Apenas um pensamento.
Que tipo de aplicação/utilização, o YAML melhor para?
Isto é difícil de responder claramente.Em vez disso, vou tentar dar alguns exemplos do que YAML não bom para (na minha humilde opinião).
<name type="string">Orion</name>
<age type="integer">26</age>
Este é um caso de onde ele é útil para misturar os dois valores e atributos em XML.YAML não tem atributos, então você tem que usar o tipo de inferência para decidir o que é um data/integer/string/etc - falha complexos ou tipos definidos pelo usuário.
<user>
.... 10 lines of stuff
<sub-user>
...15 more lines of stuff
</sub-user>
.... 10 more lines of stuff belonging to user
</user>
Este é um caso onde o fechamento de tags em XML fornecer uma série de benefícios.Se você fosse para formatar os dados acima em YAML, usando apenas o recuo para fornecer "âmbito de aplicação", seria muito mais difícil dizer onde as coisas começam e terminam.
Para uma boa medida, aqui está uma citação da oficial yaml especificação no yaml.org
YAML é, principalmente, uma serialização de dados de linguagem.XML foi projetado para ser compatível com o Standard Generalized Markup Language (SGML) e, portanto, tinha muitas restrições de projeto impostas que YAML não compartilhar.Herdando SGML legado, o XML é projetado para oferecer suporte estruturado, de documentação, onde YAML é que mais de perto direcionados às estruturas de dados e mensagens.Onde XML é um pioneiro em muitos domínios, YAML é o resultado das lições aprendidas a partir de XML e outras tecnologias.
Eu uso o YAML como uma barata e fácil substituição para escrever um domínio específico de linguagem (especialmente em casos em que outros desenvolvedores estará fazendo manutenção;Eu não tenho certeza se gostaria de usá-lo quando não-desenvolvedores seria a manutenção)