Behold, the world's most popular programming language – and it is...wait, er, YAML?!?

We don't think so either, but config file format is getting harder to avoid

A camel, because there's no YAML image
YAML, which rhymes with camel

The world's most popular programming language, according to devops biz Datree.io at least, it not Java, JavaScript, nor Python. Rather, it's YAML, a recursive acronym for "YAML Ain't Markup Language."

That's stretching the definition of "programming language" given that YAML, a superset of JSON with little tolerance for tabs, is more aptly described as a data serialization language, and one that's not universally beloved at that. It's typically used in configuration files for containers, packages, and other trendy technologies.

HTML has also been called a programming language – despite disagreement, there's a proof-of-concept HTML-only calculator – so there's precedence for Datree's delusion.

Out of the loop

Yet even Shimon Tolts, CTO and co-founder of Datree, in a phone interview with The Register, acknowledged, "of course it's not an actual programming language where you can write loops and stuff."

Tolts, however, argues that there's a huge transition underway, with code development and deployment being automated. Much of that is driven by the configuration data in YAML files. "Everything is becoming YAML-fied," he said. "Git is the new gateway between development and production. Everything is going from a committer into production. And all of those tools are being configured using YAML."

Datree arrived at its finding after analyzing several million open-source GitHub projects, and finding 60 million YAML files strewn about. The firm said that in 10,000 private repos of customers, every single active repository had at least one YAML file.

To understand the company's peculiar view of the world, it helps to recognize that there's a lot of YAML in devops tools like Docker and Kubernetes. Among GitHub 1.9 million repos with Dockerfiles, Datree found about 500,000 had a docker-compose.yml file for Docker service configuration.

What's more, YAML is often used in projects written in C++, Go, Java, JavaScript, Rust, and Python. The fastest growing YAML file, the company said, is circleci/config.yml, which informs CircleCI's CI/CD software.

Datree sees this as a sign of growing adoption of automated deployment.

Q. What's today's top language? A. Python... no, wait, Java... no, C

READ MORE

But other data crunchers don't see a YAML-colored world. In an email to The Register, Julia Silge, a data scientist at coding community site Stack Overflow, said, "YAML is used a lot in configuration files, and as the 'infrastructure as code' practice so important to devops culture grows in impact, a language like YAML becomes more widespread. That being said, Stack Overflow data shows that YAML is growing but is not as important as other data serialization formats, not to mention other languages."

Silge pointed to Stack Overflow data – measured by questions about certain topics rather than counts of files in repos – showing how the terms YAML, JSON, and XML compare.

"JSON and XML are both dropping in proportional popularity while YAML is growing, but YAML is still not a dominant player overall in software development," she said.

And when Python and Go are compared to YAML, YAML's surge looks even more underwhelming.

"This particular tool shows questions asked on Stack Overflow but we see largely the same patterns in our traffic," said Silge. "YAML is growing in popularity and is important in the devops landscape, but we do not see evidence for it being a dominant technology in the way that Python or Go (scripting languages used for devops) and JSON or XML (other data serialization formats) are." ®




Biting the hand that feeds IT © 1998–2018