5 ms·
Running 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 t
by creamytaco 5y ago
Running 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)