Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

If YAML ain't markup language, what is it?

Tags:

yaml

markup

I fail to see what makes YAML any less of a markup language than XML. The purpose of a markup language is to define the structure of a document, and YAML does exactly that (YAML stands for YAML ain't markup language).

What YAML should instead stand for is, Yet another markup language.

like image 287
desbest Avatar asked Aug 06 '11 17:08

desbest


People also ask

Is YAML a markup language?

YAML is a data serialization language that is often used for writing configuration files. Depending on whom you ask, YAML stands for yet another markup language or YAML ain't markup language (a recursive acronym), which emphasizes that YAML is for data, not documents.

What is YAML file format?

YAML is a digestible data serialization language often used to create configuration files with any programming language. Designed for human interaction, YAML is a strict superset of JSON, another data serialization language.

Are JSON and YAML languages?

Any person with an interest in programming and technology knows what JSON is. YAML is not as common as JSON, but it is also a popular and awesome data serialization language. For example, any person who has used Docker surely knows what YAML is.

Is JSON a markup language?

Although the developer of JSON declared in 2006 that JSON is not a markup language, it is now often treated as such. The generic JSON is used as the basis for specific formats, which specify names and for more specific syntax for values. Examples include GeoJSON and its extension TopoJSON.


1 Answers

Here's the real story... :)

Clark, Oren and I started working on YAML in April 2001. Oren and Clark were part of the SML mailing list, which was trying to make XML simpler. I had just written a data serialization language for Perl called Data::Denter. Clark contacted me to tell me about an idea they had called YAML, which looked similar to Data::Denter syntax. Clark already had acquired yaml.org.

After a few months of us working together, I pointed out that YAML (which most definitely stood for Yet Another Markup Language at that time) was not really a markup language (marking up various elements of a text document) but a serialization language (textual representation of typed/cyclical data graphs). We all liked the name YAML, so we backronymed it to mean YAML Ain't Markup Language.

http://yaml.org/spec/ starts with:

YAML™ (rhymes with “camel”) is a human-friendly, cross language, Unicode based data serialization language designed around the common native data structures of agile programming languages.

I couldn't have said it better myself… :

like image 135
ingydotnet Avatar answered Oct 13 '22 00:10

ingydotnet