This finding comes from CircleCI, a continuous integration and continuous delivery platform that can be used to implement DevOps practices. We reported some results from CircleCI’s 2022 State of Software Delivery Report when it was released in March, see Insights Into Successful Software Delivery. Now more Insights have been gleaned from the report which is based on an examination of two years of data from more than a quarter billion workflows on the CircleCI platform.
For its annual report CircleCI examines Workflow data to illustrate how teams on its platform perform relative to four key metrics:
- Duration: The length of time it takes a Workflow to run
- Throughput: The average number of Workflow runs per day
- Mean time to recovery: The average time between a workflow’s failure and its next success
- Success rate: The ratio of successful runs to total runs for a given time period
As a byproduct this research reveals Trends in the use of tools and technologies, in particular the top 25 programming languages on the platform, ranked by volume of work performed in the period December 1st, 2019 to September 30th, 2021.
In his blog post about the top programming languages for DevOps, Jacob Schmitt issues a caveat about the data:
Because our dataset is so large, a massive number of Workflow runs are required to register a change in language rankings. To reach the top 25, a language needs to be used in over 150,000 Workflow runs. To reach the top 10 requires millions.
In the past few years I’ve repeatedly reported Python being in the top spot – but CircleCI finds it consistently in 4th place. Go, placed 8th, is higher in this ranking than in others, while C, which is in 3rd place this year according to IEEE Spectrum and in 11th for Stack Overflow, is almost off the chart, being ranked 25th in 2021.
C’s poor showing is explained in terms of using languages for what they are good at and for DevOps you don’t necessarily need one that excels being low-level and close to the hardware. On the other hand concurrency, something Go is good at, is likely to be needed. And, of course, there is a requirement for scripting.
In the blog post Schmitt asks and answers:
What are the reasons behind TypeScript’s ascendance as the most commonly used language on CircleCI? First and foremost, type safety enables developers to catch bugs right in their IDE (integrated development environment) or at compile time rather than at runtime, reducing the risk of shipping bugs into production. Types also support rapid onboarding and collaboration across projects by making code easier to read, refactor and share.
Also of note is the rise of HashiCorp Configuration Language (HCL), a declarative configuration language used with HashiCorp’s cloud infrastructure Automation tools, most notably Terraform, from 12th position in 2019 to 9th in 2021. This finding aligns with GitHub’s 2018 and 2019 State of the Octoverse reports which identified HCL, as one of the fastest growing languages, suggesting that:
infrastructure as code (IaC) has crossed the Chasm from individual practitioners to widespread adoption among organizations delivering software at scale.
Expanding on this in the context of DevOps, Rob Zuber, CTO of CircleCI explains:
“Infrastructure-as-Code is increasing the speed with which IT can respond to changing business needs. Engineering teams that leverage popular programming languages like HCL when deploying IaC are able to make the DevOps process more legible by recording manual processes in a clear and precise way, resulting in Shorter lead times for developing features and bug fixes, as well as greater agility concerning changes in development priorities.”
Finally Schmitt Highlights Gherkin, a domain-specific language used to define test scenarios in Cucumber, an open source testing tool that supports behavior-driven development (BDD). Not only does Gherkin bring behavior-driven development into CircleCI’s top 20, suggesting that organizations are increasingly prioritizing cross-team collaboration and user experience from the outset of the development process, it also has the fastest MTTR of all languages measured for its report.
All in all these findings reveal that software delivery teams are adopting human-friendly tools and practices that allow them to automate and scale while also eliminating friction for developers and managers.
2022 State of Software Delivery Report
DevOps top programming languages support engineering metrics goals
Insights Into Successful Software Delivery
State of DevOps Report
To be informed about new articles on I Programmer, sign up for our Weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
or email your comment to: [email protected]