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
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.
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.
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, CREAD 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." ®