YAML is a human friendly language for the communication of data between people and computers.
The language is rich enough to represent almost any conceivable data structure or object inside a running computer program, as a readable plain text file. This type of language is often called a “serialization language” and YAML is definitely one of those.
But unlike most serialization languages, the YAML format tries hard to make simple things really simple. For instance a grocery list in YAML might look like:
- sliced bread - peanut butter - strawberry jam
You could print this YAML, and hand it to a friend who was about to go to the grocery store. You could also use the YAML as input to a program that places online shopping orders for you. In other words, YAML aims to be both created and consumed by both people and computers.
The kinds of people that use YAML range from programmers to lawyers to teachers to students to moms and dads. All kinds of computer programs use YAML too. YAML frameworks are readily available for most modern programming languages. This makes YAML ideal for sharing data structures between different programming languages.
Over the past decade, YAML has continuously grown in popularity, adoption and usage across the software industry and open source landscapes. YAML is commonly used as a configuration language, but it was designed to be a general purpose language for data.
The purpose of the YAML Data Project is to provide information about the YAML language, and the projects that surround it. To continue being a vital part of the technology ecosystem, YAML needs to evolve to accomodate the needs of communities it serves. In 2020, there are renewed efforts to bring these changes to fruition.