Top 25 Languages For DevOps |
Written by Janet Swift |
Wednesday, 21 September 2022 |
In 2022 JavaScript lost its status as the most popular programming language for DevOps, being surpassed by TypeScript - which is, of course, a superset of JavaScript that offers optional static typing. 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:
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. What strikes me about CircleCI's top languages is that while the languages included in other rankings are there - they are not in the same order. I've frequently complained that JavaScript seems to have low a ranking in the annual Stack Overflow survey - and here it is still number two, or in both the 1st and 2nd positions if you regard TypeScript as a "flavour" of JavaScript. In the past few years I've repeatedly reported Python being in the top spot - but CircleCI find it consistently in 4th place. Go, placed 8th, is higher is 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 being low-level and close to the hardware. One the other hand concurrency, something Go is good at, is likely to be needed. And, of course, there is a requirment 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. He also points out that TypeScript projects built on CircleCI rank higher than JavaScript projects in both success rate and throughput, but not mean time to recovery (MTTR), commenting: This supports the idea that TypeScript helps developers catch smaller errors locally, allowing them to commit working code more frequently and more reliably than JavaScript developers. However, when a TypeScript build fails, debugging is more time-consuming on average than for JavaScript projects. 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 brings behaviour-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. More Information2022 State of Software Delivery Report DevOps top programming languages support engineering metrics goals Related ArticlesInsights Into Successful Software Delivery
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.
Comments
or email your comment to: comments@i-programmer.info |
Last Updated ( Wednesday, 23 November 2022 ) |