DEV Community

Discussion on: Pitch me on C#

abhinav1217 profile image
Abhinav Kulshreshtha

Yes. there is a native compiler for everything. Game engines have C++, Godot have GDScript. Rust is getting popular with wasm. But there is a C# solution available, for those who want it. Mobile apps, with Xamerin, Front-end with razor and blazor, Desktop apps with multiple gui toolkit support, There is an SDK for microboards like arduino too. Microsoft is not trying to make C# be the best solution in all the field, but trying to be "An Acceptable Solution" to all field.

And reason why these fields support C# as a native solution, because this way, developers wouldn't need to learn it from scratch. C# compiler doesn't compile it to CRL/IL in all cases, It can be configured to produce native binaries, or a portable executable library file. This is why it is easier for anyone to provide first party support to C# in their field.

In the end, a C# developer can write code for any of supported field, without need to learn a new native stack. And if you are creating something new, and want to attract developers quickly, providing support for C# might be fastest way for you.

It may come with tradeoff, Mobile apps in C# are really slow, But for some, hiring and training cost may just be high enough that they would be willing to accept tradeoffs.

Thread Thread
webbureaucrat profile image

I'm not denying that C# is cross-platform, and I do understand the benefits of not having to learn a new language for every stack-- I just don't see that as being any thing specific to C# or C#'s philosophy.