6 ms·
Is .NET relevant even on Windows these days? With MSFT's Linux embrace ever tightening, why would anyone without sunk costs invest in .NET when every alternativ
by creamytaco 5y ago
Is .NET relevant even on Windows these days? With MSFT's Linux embrace ever tightening, why would anyone without sunk costs invest in .NET when every alternative seems to be better (or quickly getting there)?
- Semaphor 5y ago.NET nowadays runs on Linux. Even SQL Server does.
- creamytaco 5y agoRunning on Linux doesn't tell us much in itself. Can it compete with long-established alternatives on that platform? Does it have adoption? I think the answer to both these questions is a strong no.
- Semaphor 5y agoI’m not sure if that’s what you mean, but your comments sound like "I have absolutely no idea, but I’m going with my unfounded gut feeling"
- fabian2k 5y agoWhy shouldn't it be able to compete there? It works very well on Linux and modern .NET is a pretty good platform in many regards.
- 9wzYQbTYsAIc 5y agoIt certainly has the potential for both. There are scores of Windows developers who’s skills are now transferable to Linux, Apple, and Android development (albeit with some caveats).
- kreeben 5y agoI had to raise two kids so I couldn't find time to master both the Linux and Windows ecosystems so I chose the one they use at work. These days Microsoft has made me think more carefully about choosing platform and with their new proposals, Win11 and Edge The E-commerce Browser, I'm ready to jump onto Linux but how would I program that environment, when I have almost no experience in C? For me, the answer is .net. Thank you, Microsoft, for showing me a way out.
- 5e92cb50239222b 5y agoEh? you don't have to know C to develop for Linux. Most of us don't write C at all. I've written maybe a few thousand lines in all my life, the vast majority of them for ESP32.
- kreeben 5y agoOf course one doesn't have to program one's environment but I would never be on one where I couldn't.
- ogogmad 5y agoI think you misunderstood the parent commenter. He said that he hasn't programmed much in C, but that doesn't mean he hasn't done much programming altogether. He's wondering why you ever felt that programming in Linux meant you had to use C. Many of the Linux APIs are written in C but there are wrappers for countless other languages, no? Many Linux people like to use Python, for instance. Unfortunately, it's a slow language for all sorts of incidental but hard-to-fix reasons. This has led people to look for alternatives. I think Go is increasingly used as an alternative, but it lacks features like operator overloading which are a necessity in certain areas. There's JVM languages like Java, Kotlin and Scala as well. Nim is up-and-coming. Some people use functional languages like Haskell and Common Lisp. C++ is widely used but not much loved.
- kreeben 5y agoThx, yes I might have. I know enough about all of those languages that you mentioned to realize, as a c-sharper I have it good. Java is a bit too weird for me. Python a bit too slow. C++ too hard, Haskel too functional ;) I realize of course that not all Linux users are C programmers. Given the opportunity to transfer my C# knowledge over to Linux, I'll take it.
- oaiey 5y agoCheck the techempower benchmarks mentioned all over any .NET performance article. They beat on Linux nearly any other tech stack in the performance game. NFRs like debugging, monitoring, etc are all there. From my personal perspective, roughly 75% of all applicable (non-Windows-UI) .NET greenfield project go straight on Linux. The brownfield/maintenance situation is surely different. Companies are not married to the Windows stack when you get the alternative for free. And R&Ds just follow that. .NET is on Linux and performs excellent there.
- 5e92cb50239222b 5y agoThose benchmarks are a joke. Did you look at the source code? Nobody is writing real applications like that. Most of them do a single select and push the results out to the client. (FWIW, I spend about 40% of my working time dealing with dotnet).
- sp33der89 5y agoAnd how has your experience with dotnet been?
- nycdotnet 5y agoAt Namely our payroll and benefits systems run on .NET in Linux containers on k8s talking to Postgres, SQL Server, Redis, and Kafka, and we integrate between these services and others via gRPC. Some of these services’ endpoints are exposed via GraphQL using a Node service running the Apollo server and some are called directly via gRPC by Go, Ruby, and Python services. All of this is on Linux in k8s. The .NET services integrate with the same ELK stack and things like Jaeger. It has adoption, it is competitive, and it integrates really nicely.
- strikelaserclaw 5y agodo u guys use ef?
- Rapzid 5y agoI know the answers are yes. Since we are on the topic of Linux so something exciting was merged for .Net6 that wasn't talked about; the new file interface with support for symbolic links. That sounds a bit absurd but it's been a long standing issue with challenges you wouldn't expect.. https://github.com/dotnet/runtime/pull/54253 https://github.com/dotnet/runtime/pull/54253
- cyral 5y agoYes, I run it in production on Linux and develop on Mac and the experience is great. You would be correct making this statement 5 years ago before they re-wrote everything to be cross platform (that is what .NET Core is vs the old .NET)
- deleted 5y ago[deleted]
- Beltiras 5y agoThose sunk costs are sometimes a dev team. Not just a matter of spent money.
- jcims 5y agoThat’s exactly the issue I’m facing now. Have a team of .NET devs who feel like the walls are closing in because the corporate strategy is clearly elsewhere. My goal for now is to focus on moving off of Windows because that’s actually where all of our pain comes from.
- Beltiras 5y agoI'm leaving my current workplace because we are making the switch the other way around. Having spent 3 years retooling everything for Docker and containers we just got a new boss that's slowly moving more in the Windows direction. Sometimes it's also just a case of being too entrenched. And then there are all the stakeholders that don't understand the tech but have way more say in what gets chosen than us techies.
- quietbritishjim 5y agoThe developer experience for .NET is pretty incredible. Have you tried it? I don't think you would be dismissing it like this if you had.
- 9wzYQbTYsAIc 5y agoFor real, .NET’s problems these days are mostly related to being controlled by Microsoft and the .NET Foundation. Definitely some room to grow in the technical respects, but the .NET ecosystem is pretty decent, as it is.
- xbar 5y agoI, for one, have not, but I keep hearing this from HN. Perhaps the next project....
- thrower123 5y agoIf you're doing Windows development, you'd be foolish not to use dotnet. It's pretty good off Windows now, with all the massive efforts they've put in making it run on Linux better than Mono did the past years.
- gameswithgo 5y agoBetter how? C# is probably the best performing gc language there is, and F# probably the most interesting.
- GordonS 5y ago> when every alternative seems to be better Eh? C# and F# are fabulous languages - it's a huuuge stretch to claim that almost anything else is "better".
- jb_s 5y agoAs a .NET veteran, if anything .NET is 10x more relevant now that it's cross-platform... you don't need Windows to develop, you can containerise your apps and run it anywhere, it's significantly better now than in the old days (anyone remember debugging GAC issues?) C# is still one of the best languages I've used, which is the reason why I've kept at it for so long - e.g. it got async/await semantics in like 2012 (just after F# did). I'm about to switch jobs to a company that uses Typescript/Node after years in .NET and I feel like I'm going to miss quite a lot of the development experience. I'm not sure which alternatives are necessarily better but again I haven't spent a significant amount of time with, for example, Golang or Scala. Swift was kind of equivalent but (AFAIK) missing some features and the vastness of the nuget package ecosystem.
- ClumsyPilot 5y ago"NET when every alternative seems to be better" Better how? There are people convinced that C is the best because it's the fastest, and if that the only thing thst matters to them, they aren't wrong.
- kaba0 5y agoBut not even that is true. C is not any closer to metal than C++, or bunch of other languages that compile to native code are, hell, it can’t even do proper threading natively, nor SIMD, which is just a bunch of compiler specific pragmas.
- pjmlp 5y agoYes it is, even with all the COM love, there were only three C++ talks on the VS2022 release party, .NET stole the show for everything else. Most desktop applications targeted at Windows are written in .NET and C++ only comes into the picture via COM/DLLs, hardly anyone writes pure Windows applications in straight C or C++, unless we are talking about games.
- Aerroon 5y agoAnd even Unity games are C#.
- thepra 5y agoI have a web app running on it on Linux :)
- ozim 5y agoI would say that you see it from different perspective. It is Windows/Linux that are becoming irrelevant. Future is about browser applications/mobile applications and cloud workloads. Yes of course there are uses for desktop computing but those are specialists. While general public will be using phones and tablets not even owning a laptop. On the phone/tablet people don't even care what is the OS. I already know people who don't have computers at home, only tablets/phones/gaming consoles. Normal people want to play games, message each other, no one cares about OS an Microsoft knows that.
- nwsm 5y agoWhat is the most popular desktop stack?