As organizations continue to embrace CI/CD and DevOps in their quest for shorter, more reliable delivery cycles, the choice of programming languages becomes even more critical. The language used to build your applications can affect everything from developer happiness and productivity to your organization’s performance on the four key software delivery metrics:

  • Duration: The average time required to complete a CI/CD workflow
  • 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

In CircleCI’s annual State of Software Delivery report, we analyze millions of data points from real workflows run on our platform to determine the tools, techniques, and processes that lead to elite performance on the key software delivery metrics. Some of the more interesting insights to come out of this work are the trends in languages used by CircleCI customers and the implications for teams and organizations seeking to optimize their software development processes.

2023 language trends

Methodology

The data used in the 2023 State of Software Delivery report represents workflows run within the first 28 days of September 2022. It was filtered to include only projects that use GitHub as their VCS, have at least two contributors, and have run workflows on CircleCI at least five times. In all, this constitutes data on more than 14 million workflows from more than 22,000 organizations.

In this report, we’ll look at data from the 2023 State of Software Delivery report and call out the most notable trends as well as what they mean for the world of software delivery. More information and analysis, as well as actionable advice to improve your organization’s software delivery performance, are available in the full report.

AI, ML, and Big Data languages surge in popularity

Generative AI, machine learning, and big data processing have taken the technology world by storm, so it’s no surprise that a number of associated languages and tools would make big gains in this year’s list. Teams building large language models and processing huge data stores use CI/CD for rapid experimentation, efficient model training, secure deployments, and continuous validation in MLOps pipelines.

Most notably, Python leapfrogged JavaScript and Ruby to become the second-most commonly used language. Python is a fast-growing developer favorite due to its versatility, easy-to-read syntax, and extensive ecosystem of libraries and frameworks that cater to a range of development needs. AI and data science engineers have embraced Python’s rapid development cycles and powerful libraries for data processing and machine learning, including NumPy, Scipy, pandas, scikit-learn, Matplotlib, Tensorflow, and Keras, among many others.

Other languages and tools commonly used for machine learning and data analysis saw significant growth over the past year. These include Jupyter Notebook (up three places to #13), C# (up three places to #14), Rust (up four places to #20), and Shell (up two places to #10). A few ML languages held steady in their rankings year over year, including Go (#5), Java (#6), and C++ (#18). Scala (down two spots to #15) and JavaScript (down one spot to #3) both lost ground, but only after being surpassed by other popular machine learning languages.

TypeScript holds strong as developers’ language of choice

Last year, TypeScript surpassed JavaScript as the most-used programming language among software delivery teams on CircleCI, and it continues to hold the top position in this year’s report. At the same time, JavaScript continued to fall in the rankings, as Python climbed into the top three for the first time.

Affectionately known as “JavaScript that scales,” TypeScript offers a number of advantages over JavaScript for software delivery teams building complex distributed applications. Like C#, it provides strong typing, support for object-oriented programming principles, and deep integration into the Microsoft ecosystem. It has experienced strong growth among teams building complex web applications, as it facilitates code that is safe, readable, and maintainable at scale.

Supporting the idea that TypeScript promotes efficient development and easier debugging, the language appeared in the top 10 for both throughput and mean time to recovery in our 2023 report. That means TypeScript developers were able to validate and push a tremendous number of changes via their continuous integration and delivery pipelines and were among the fastest to resolve errors when they occurred. Given these results, TypeScript seems likely to maintain its advantage over JavaScript for the foreseeable future.

C# drives growth in enterprise and cross-platform development

C# is a high-level compiled language known primarily for its use in Windows application development on the .NET framework. However, in recent years C# has also emerged as a popular choice for mobile, gaming, and machine learning with help of tools like Unity, Xamarin/MAUI, and ML.NET.

Like Java, another enterprise favorite and consistent top performer on our list, C# offers cross-platform compatibility for desktop, web, mobile, and backend development. C# integrates seamlessly with Microsoft’s .NET Framework, .NET Core, and Azure cloud services, facilitating efficient development and smooth interoperability within the Microsoft ecosystem. It encourages secure and scalable code with strong typing, memory safety, deep integration with Microsoft’s Visual Studio IDE, and broad support from Microsoft and the open source community.

Since the launch of the Unity game engine in 2005, game developers have adopted C# in increasing numbers. Unity uses Mono, a cross-platform implementation of .NET, as its runtime environment and offers native support for C# scripting. CircleCI added enhanced support for Unity development in 2022 with the release of the Unity orb, which simplifies the process of setting up robust build, test, and deploy workflows for Unity code.

Conclusion

This year’s results tell an interesting story about the priorities of modern software delivery organizations. Teams are adopting languages that support rapid, efficient development across application types, from enterprise systems and machine learning algorithms to cross-platform mobile applications and games. At the same time, they are gravitating toward languages that combine speed and performance with stability, security, and scalability.

These insights harmonize nicely with the findings in this year’s State of Software Delivery report that teams are recovering from errors faster than ever before. The average CircleCI user gets their pipelines back to green in just over 64 minutes, a 10 minute improvement over previous years and very nearly equal to our elite performance benchmark of 60 minutes. Across the board, CircleCI users are building tech stacks that achieve an impressive balance of velocity and stability.

To learn more about the intersection of language usage and team performance, and how you can take advantage of today’s best technologies to build an elite software delivery practice, download the State of Software Delivery.