7 ms·
> but its in the hands of microsoft and microsoft didn't really care much about building a community or getting it to work natively in other OSes/toolchains. T
by DaiPlusPlus 2y ago
> but its in the hands of microsoft and microsoft didn't really care much about building a community or getting it to work natively in other OSes/toolchains.
That statement was true - until 2016. Times change, Microsoft changed.
- pathartl 2y agoYeah, really. I'm distributing a .NET 8 app across Windows, macOS, Linux and x64/arm.
- Salgat 2y agoOur developers write C# code using windows/mac/linux (it's up to their own preference) and we deploy to linux containers on AWS. Times have indeed changed.
- mlinhares 2y agoNah, people continue to pick Java or Go when they want to build their enterprise systems if they're not already married to Microsoft. There's not a single widely distributed infra application in C# out there. When people want to build stuff like kafkas, kubernetes, consuls, they still go to Java/Go/C++.
- lolinder 2y agoThis comment is kind of out of the blue because no one in this thread is advocating for using C# for infrastructure projects. Java is frankly a bad choice for that too these days for a new project, and for the same reason: why would you develop infrastructure in a language that requires shipping a runtime when Rust and Go exist? That made a lot more sense back when C/C++ was your only other real choice. Meanwhile, plenty of people are in this thread telling you that they do in fact use C# to distribute cross-platform applications, but you seem to be uninterested in hearing that.
- giancarlostoro 2y agoIt's even worse, plenty of Azure itself is C#, and I don't mean a few dashboards, I mean the infrastructure itself, heck the serverless infrastructure's open source and its basically C#. I'm sure the same could be said of AWS and Java (making an assumption), or Google Cloud Platform and Go / Python.
- pjmlp 2y agoIronically, given the past history that lead to .NET existence, https://devblogs.microsoft.com/java https://devblogs.microsoft.com/java https://www.microsoft.com/openjdk https://www.microsoft.com/openjdk https://code.visualstudio.com/docs/languages/java https://code.visualstudio.com/docs/languages/java Because it turns out, making Java running on Azure, on those 60% Linux workloads, is lot of money. Also plenty of Azure, anything CNCF related, is mostly Go and Rust. Which is kind of sad, I would expect Azure to be a good contributor for having a .NET presence in the CNCF project landscape.
- giancarlostoro 2y agoFully agreed! It's really interesting how diverse their entire platform really is in the grand scheme of things. One thing I had hoped to see is one of those IL conversion projects that can make JVM bytecode and .NET bytecode co-habitate would have taken off slightly more. I guess the only real way to make those work is to either target both for WASM or implement the standard library of the respective languages in the target platforms, which is a can of worms.
- banashark 2y agoJava has been fine for infrastructure projects. There is so much out there that relies on things like elasticsearch, Kafka, or any aws service. Heck even the columnar dbs like pinot and Druid are most likely more used than clickhouse. C# is also fine for this, just way less popular. Recently ms put out https://github.com/microsoft/Garnet https://github.com/microsoft/Garnet when the redis debacle happened. The Apache project has helped put out quite a few large infra projects, most of them in Java (I don’t know why this is but assume they have lots of resources to help with that, and also that people don’t like debugging memory crashes). Ms has just been not the greatest collaborators with their open source community. A lot of the time it seems like they want to do the initial foundation, then leave “drawing the rest of the owl” to the community, which ends with lots of partially functional things. GUI frameworks, f# tooling, drivers for commonly used critical infra. At the same time, people get upset when ms tries to build a better version of an existing open source project, so there’s no winning. They’ve just put themselves in such a poor spot.
- giancarlostoro 2y ago> There's not a single widely distributed infra application in C# out there. Azure has entered the chat. Microsoft Orleans has entered the chat. ASP .NET Core has entered the chat. Ever played Halo online? Used StackOverflow? (very likely) Visited any website on Azure? (most likely) Microsoft Orleans (Virtual Actor framework) powers the Halo server infrastructure since at least 2011 if not sooner, which arguably the Halo series is insanely popular, especially for online gaming. Also powers plenty of Azure itselfs own infrastructure. I've worked on dozens of scalable C# projects, and know plenty of devs from all over who have as well. Orleans was so good, EA made their own version in Java which was extensively used there as well, though it looks to be dead, but Orleans is as alive as ever. Not to mention plenty of Azure itself is open source, like say... Azure Functions, which run inside of ASP .NET Web Services... and are... you guessed it, C#. Plenty of services running on that platform. https://github.com/Azure/azure-functions-host https://github.com/Azure/azure-functions-host
- Fervicus 2y agoI'll add Bitwarden and Jellyfin to the list of cross platform apps written in C# that are widely popular.
- viraptor 2y agoAnd all the high seas software (sonarr, radarr, etc.)
- benbristow 2y agoBing is well known for being Microsoft's 'dogfood' candidate for new versions of .NET. https://visualstudiomagazine.com/articles/2018/08/22/bing-net-core.aspx https://visualstudiomagazine.com/articles/2018/08/22/bing-ne... https://www.bing.com/version https://www.bing.com/version
- lmm 2y agoNone of those are "widely distributed". They're all things that either MS themselves or MS-oriented shops run internally. No-one's writing a database server or identity management system or source code repository or business intelligence tool or even something like a linter in cross-platform C#. Unless you're a Windows shop, it's just not a first-class ecosystem.
- mlhpdx 2y ago> There's not a single widely distributed infra application in C# out there. If you’ve used Wi-Fi in a hotel it’s very likely you’ve used a C# app. Is that “infra” and “widely distributed” enough?
- 8338550bff96 2y agoA lot of devs are still living in the 2010s