4 ms·
No one wants to spend their life configuring servers. That's why tools like Chef and Puppet exist -- so you can write code that will do it for you. They just do
by nkohari 14y ago
No one wants to spend their life configuring servers. That's why tools like Chef and Puppet exist -- so you can write code that will do it for you. They just don't work as well for Windows as they do for Linux.
After a significant amount of experience in the .NET ecosystem, I believe the majority of the anti-Microsoft sentiment is well-deserved. At one point, there was a lot of innovation in .NET OSS, but it seems to have ground to a halt within the last few years. It's possible I'm just projecting because of my own experience, but it seems like many of the more influential members of the .NET ecosystem have gone on to do other things.
It's not that Microsoft or .NET is bad -- it's just that there are better options.
- brass9 14y ago> After a significant amount of experience in the .NET ecosystem, I believe the majority of the anti-Microsoft sentiment is well-deserved. At one point, there was a lot of innovation in .NET OSS, but it seems to have ground to a halt within the last few years. It's possible I'm just projecting because of my own experience, but it seems like many of the more influential members of the .NET ecosystem have gone on to do other things. That's not entirely true. Pretty much the entire ASP.net MVC stack has now been open-source. Entity Framework is also open-source. I agree, 3rd party OSS ecosystem is much smaller than Java.
- nkohari 14y agoI don't mean this to be derogatory, but ASP.NET MVC, as great as it is, was not particularly innovative when it was originally written. Entity Framework is an ORM, and by definition not particularly innovative. Why isn't something like Cassandra or Hadoop written using .NET? It's the Windows requirement that makes ideas like that die on the vine. Shit, there are more interesting systems built using Erlang/OTP than there are for .NET. Edit: RavenDB is probably the closest thing to new tech that's currently happening on .NET, and it's because Oren Eini is one of the few innovators left in the ecosystem.
- sultezdukes 14y agoI don't mean this to be derogatory, but ASP.NET MVC, as great as it is, was not particularly innovative when it was originally written. Entity Framework is an ORM, and by definition not particularly innovative. Where did the parent say anything about innovation?
- nkohari 14y ago> After a significant amount of experience in the .NET ecosystem, I believe the majority of the anti-Microsoft sentiment is well-deserved. At one point, there was a lot of innovation in .NET OSS, but it seems to have ground to a halt within the last few years. I said it.
- thatfloatingguy 14y agoI keep hearing that there are better options... but I haven't found one which is personally better for me. I'd love to hear suggestions if you have the time. I think the biggest problem for me isn't some attachment to Windows Server (I much prefer working on a Linux server), or some misplaced love for WebForms (ick!), but the C# language in general. There are a lot of great dynamic language setups on Linux (Rails, various Python stacks, etc) which aren't bad or anything... but I always find working in a dynamic language to be a bit of a hindrance. I've been writing a multiplayer game server in Go, and I can't even begin to list the hours of work compile-time type tests have saved me during early development as I constantly refactor. But on the other hand, I wouldn't want to write a large "business" style web-app in Go (my day job), which really doesn't have a standards library tailored for it. I also get the feeling that the dynamic language web-stacks suffer from relatively poor performance compared to the CLR, and for some of the clients I work with who need to do some fairly complex non-database processing, this wouldn't be a great thing. Maybe this concern is unfounded though. Perhaps Java is the closest match to .NET, both in style and in spirit. But having done a fair amount of Java development for Android, Java just feels so clumsy and clunky... The language isn't as nice, the tools aren't as nice, and the standard library just doesn't compare in terms of letting my express myself quickly and easily. When one of my clients needs a web-app, I always go .NET. These projects won't ever be scaling to millions of users, so server licensing really isn't an issue. On the other hand, there will be lots of direction changes no matter the amount of planning, so static typing can be a God-send with the safety blanket it provides. And C# really lets me write clean code more quickly than in anything else I've worked with. If I we're creating a product for a start-up, I probably wouldn't go with it... licensing costs would be an issue. But then again, if I was running a start-up, hopefully it wouldn't be a relatively boring business-app that was best suited to something like .NET. And if I were creating a product for a huge number of users, it'd be worth pouring in the development time to have a super high performance back-end in a language separate from the quick-to-add-features-to Ruby front-end. But for my use case, I just haven't found a better option yet. I'd love some suggestions though, because I'm not a big fan of Microsoft these days and wouldn't mind being less at-mercy of their platform. Maybe my concerns are unfounded though, and I'm just stuck in what I know, but I do branch out a lot for personal projects.
- 14y ago
- sultezdukes 14y agoIt's not that Microsoft or .NET is bad -- it's just that there are better options. No, there are better options for you.
- nkohari 14y agoTouché, you out-lawyered me there. I was talking about my opinion on the topic, so yeah. For me.