A new developer survey has shown the popularity of C#, the primary language of Microsoft's .NET platform, slipping from third to sixth place in three years, though usage is still growing in absolute terms and it is particularly popular in game development.
Research company Slashdata surveyed over 17,000 developers globally for its 19th “State of the Developer Nation” report. The researchers make a point of attempting to measure the absolute number of programming language users, rather than simply looking at relative popularity, as done by indexes from the likes of StackOverflow or Redmonk.
C# has fared less well. “The fact that C# lost three places during the last three years is mostly explained by its slower growth compared to C/C++ and PHP,” the report stated. “C# may be sustaining its dominance in the game and AR/VR developer ecosystems, but it seems to be losing its edge in desktop development – possibly due to the emergence of cross-platform tools based on web technologies.”
The games we play
The use of C# for gaming will be largely due to its presence in popular game engines. Microsoft recently posted on this topic, mentioning Unity and CryEngine, which use C# for scripting, as well as .NET game engines like MonoGame and Stride.
While Microsoft will be happy to see .NET popular in game development, it is likely to see web and cloud use as more strategic, since this aligns with the profitable enterprise software market.
Even so, the survey is not a positive one for .NET, indicating that it is losing ground to alternatives in the most strategic markets, and that efforts to establish .NET in mobile via Xamarin technology have not won over sufficient developers - though we can speculate that if Microsoft had not made .NET open source then cross-platform C# would have slipped by much more.
Slashdata also examined use of cloud technologies, asking developers their technology preferences and reasons for adopting or rejecting cloud technologies. Backend developers love containers, they discovered, with 60 per cent adoption, followed by database as a service (45 per cent) and cloud platform as a service (32 per cent). Container orchestration was also popular (27 per cent), over half of which is Kubernetes. Serverless, meaning services like AWS Lambda or Azure Cloud Functions, came in at 26 per cent. But what drives these choices? The top factors are price, support and documentation, and ease/speed of development. Performance was called out as the least important factor in Slashdata’s survey results.
Even more notable were the reasons for non-adoption of cloud technology. Top of the list by far was price, especially when it came to virtual machine infrastructure as a service, cited by 48 per cent of developers, but also for other categories like database as a service (38 per cent) and serverless (34 per cent). Slashdata apparently did not ask about issues such as control, reliability or data compliance.
Finally, the researchers also exampled DevOps trends. Combining the figures for Continuous Integration and Continuous Delivery showed 77 per cent adoption, though the researchers said that “developers are still sceptical about fully automated CI/CD pipelines,” with 40 per cent giving manual approval to deployment into production. ®