YAML's syntax resembles other high-level languages and can simply express data structures such as lists, hash tables, and scalars. It uses whitespace for indentation and relies heavily on visual characteristics, making it particularly well-suited for expressing or editing data structures, various configuration files, debugging output, and document outlines (e.g., many email header formats closely resemble YAML). While it excels at representing hierarchical data structures, it also possesses a refined syntax for expressing relational data models. Because YAML uses whitespace and line breaks to separate data, it is particularly well-suited for manipulation with grep/Python/Perl/Ruby. Its most user-friendly feature is its clever avoidance of enclosing symbols like quotes and various brackets, which become complex and hard to decipher in nested structures.
Links: Developer Tools