News: 1603301045

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Developer survey: C# losing ground to JavaScript, PHP and Java for cloud apps, still big in gaming

(2020/10/21)


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” [1]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.

[2]

SlashDataTM, CC 4.0

According to the report, JavaScript tops the charts with 12.4 million active software developers, followed by Python at 9.0 million, and then Java at 8.2 million. The next three are all-but tied, with C/C++ at 6.3M, PHP at 6.1 million and C# at 6.0 million. TypeScript is included in the JavaScript numbers.

Slashdata compared these figures to those from mid-2017, noting that JavaScript developers have increased by 5 million over that period and Java has gained 1.6 million developers. Python growth since 2017 is not stated, but the researchers said it has added 2.2 million developers in the last year alone, driven by rising use of data science and machine learning.

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.”

[3]

SlashDataTM, CC 4.0

The games we play

C# is least popular in data science, machine learning and mobile, the report added. The categories of web and cloud are not mentioned in the context of C#, indicating middling usage, whereas JavaScript, Java and PHP score strongly in those areas.

The use of C# for gaming will be largely due to its presence in popular game engines. Microsoft recently posted [4]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.

It seems, though, that JavaScript, Java and PHP are all winning more developers than C# in those categories, though as ever the raw figures will not tell the whole story and it is possible that the enterprise sector skews more to C# than choices such as PHP.

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. ®

Get our [5]Tech Resources



[1] https://www.slashdata.co/free-resources/developer-economics-state-of-the-developer-nation-19th-edition?

[2] https://regmedia.co.uk/2020/10/21/langranking.png

[3] https://regmedia.co.uk/2020/10/21/langsize.jpg

[4] https://devblogs.microsoft.com/dotnet/choose-a-net-game-engine/

[5] https://whitepapers.theregister.com/

karlkarl

The data is strange...

It says that CSharp is more used for games? I know for a fact that C++ is still more used in games. Even with Unity aside.

Does the fact that Unity and UE4 are both written in C++ not count?

Likewise desktop applications are very much C++ rather than C#. Mostly to avoid the requirement for bindings...

This data seems to be missing out on a lot of complexity.

cornetman

> Does the fact that Unity and UE4 are both written in C++ not count?

The survey is counting developers and I suspect that there are a lot more users of Unity compared to developers of the engine, and those users would be writing mainly game script. That seems to make sense to me.

Disappointing to see Rust being the laggard at the bottom of the table though and surprising to see the big uplift in C++: I though C and C++ were in steady decline.

karlkarl

Ah I see. Fair point.

I think in some ways that is what got me. The importance of C and C++ is as high as ever because it almost underpins everything (i.e even Rust via LLVM) and yet the number of developers commonly using it day to day, I thought was going to be fairly low. Either due to skills shortage, time constraints, etc.

And that is why I assumed the data must be referring to SLOC rather than developer count.

PHP / JavaScript & Python

Anon321

PHP / JavaScript & Python are about as Complex as

Java or C++ / MFC , Win32 Programming.

You need Developers with 10 Years Experience.

Java & C# & Lotus Notes

Anon321

Companies will use Java for Large Mission Critical Apps.

Due to the Fact that there are Several Suppliers of Java Software.

Netbeans, Weblogic, Jboss, Eclipse, Open Java, Tomcat. e.t.c.

Companies will use C# for Small and Medium Sized Non Critical Business Apps.

This is More True Now since we have Cloud Servers that Companies can

buy and run themselves like an Exchange Server. No need for Infrastructure Guys.

C# is like Visual Basic. For the Earlier Versions I could write a Translator that would

map C#.Net to VB.Net. A Change in C# would show in VB.Net immediately and

a Change in VB.Net would show immediately in C#. An Overlay Translator.

Although C# / VB.Net is easier than Java. Majority of Companies struggle to

program in it. Universities don't teach Programming Properly. It Takes about

5 Years for C#.Net / VB.Net and about 10 Years for Java or C++ / Win32 or MFC

Windows programming. 1 or 2 Semesters isn't enough. So for that reason there

is a Need for Lotus Notes / MS Access type of Programming.

Re: Java & C# & Lotus Notes

druck

Do

you

get

paid

per

line

of

code?

Don't you...

I code for the bacon

Remember the adage "There is a God, but he drinks", seeing how quite a number of well-designed and powerful languages have been in existence for many years, and the most used is... JavaScript.

Re: Don't you...

bazza

Yes, JavaScript’s popularity is a dismal state of affairs. Though the figures do also include those using TypeScript, which to MS’s credit does attempt to restore some rationality to that world.

I think that the rise of Web tech for cross platform applications is worrying. There’s some good ones eg VS Code, but even that’s now beginning to be enormously bloated and showing signs of creaking when things get difficult. Web stuff basically sucks, and if something like C# can become properly cross platform (WPF please) then that may end up being the best choice.

Why use Windows, since there is a door?
(By fachat@galileo.rhein-neckar.de, Andre Fachat)