Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Where C# is the most dominant language in the .NET world

Why would we want to live in the ".NET world"? I say adopt a programming language, or languages-ecosystem, that's not useful only in the "[some niche] world", but more-or-less everywhere. Whether it's older and well-trodden or newer and up-and-coming, I don't see the benefit of limiting yourself that way.



It is not really a "niche". The ".NET world" is more-or-less everywhere: it is cross-platform, open source, and runs on Linux/Windows/macOS/iOS/Android/more.

The ".NET world" is comparable to the "JVM world" or even the "LLVM world": a virtual machine target with a varied language ecosystem and a lot of real machines supported at runtime (in a cross-platform, open source way today).

".NET world" is defining a complex language ecosystem, and it probably isn't as "limited" an ecosystem as you seem to think.


In theory, yes.

In practice, most of the RPFs that we get for UNIX deployments, rather want us to provide solutions in ecosystems born out of the UNIX world and aren't keen in hearing about .NET, even if it supports UNIX platforms nowadays.

Back in the .NET Core 3.1 days, I had a migration project from .NET Framework to Java, as the customer didn't want to stay in the .NET ecosystem, and given the amount of code they had to rewrite to be fully functional in .NET Core, they decided to move elsewhere.

They aren't alone, Sitecore once the the lighthouse of enterprise .NET CMS, is now a polyglot platform, where most of the new products are written in a mix of Java and JS/TS.

Given the recent efforts in WCF Core compatibility and System.Web wrappers, it is quite clear that the decision to create a Python 2 / 3 schism in the .NET world is taking its toll.


> Given the recent efforts in WCF Core compatibility and System.Web wrappers, it is quite clear that the decision to create a Python 2 / 3 schism in the .NET world is taking its toll.

We've had very different experiences. I've never had a problem replacing dependencies on WCF or System.Web, have yet to ever see a use case for WCF Core, and have yet to find System.Web dependent middleware that wasn't trivial to rewrite as modern ASP.NET (Core) Middleware. (ETA: Or toss. Some of what I find done in System.Web has only that one destination, because it is obsolete or was a bad idea in the first place or there's an easier way to do it.)


And are .NET applications actually getting run on Linux, MacOS, and Android? To a significant extent?


.NET is big for mobile app development, particularly when you include Unity. It's really one of the best solutions for writing Android + iOS apps, where you can share a significant amount of code and still have native-looking apps. You don't need to depend on clunky electron which makes your apps huge. .NET apps are smaller and faster than electron based apps. Swift is probably a common choice these days, but wasn't an option a few years ago.

Unity is used by a huge number of mobile games and uses C#. The Godot engine also supports C#.

On desktops not as much, but it is sometimes used for cross platform development, and plenty of games on Steam are written in Unity and run cross platform.

Linux desktop could have had a better story when MonoDevelop was gaining popularity, but Linux/desktop support basically got sidelined when Xamarin shifted focus to mobile development, and the acquisition by MS killed mono.

Since MS went fully open source on .NET, the situation for Linux is improving, but it's not yet a choice for most developers on Linux and may likely never be, because everyone wants to write web apps.

Many of the Linux desktop apps written with Mono have been abandoned or are barely maintained.

There's a few recent apps written with Avalonia which run cross-plaform. Wasabi Wallet (bitcoin privacy focused wallet) is a good example. See more here: https://github.com/AvaloniaCommunity/awesome-avalonia#sample...


The majority of new .net apps are linux in my experience. Because they all run in containers. Containers are best supported in linux.


Even those not using containers, Linux website hosts are generally cheaper (including on most cloud providers). In addition to new apps I've seen some older web apps pressured into .NET upgrades just to have Linux runtime support to run on cheaper servers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: