For server stuff, .NET is now close to the level of openness and compatibility that the OpenJDK enjoys. If you like C# or F# better than Java, there is plenty of reason to switch.
It's important to note that all of this applies to the OpenJDK too[3]. So you are at least no worse off if you make a leap from the JVM.
[1]: https://cla2.dotnetfoundation.org/cladoc/net-foundation-cont...
[2]: http://www.mono-project.com/docs/about-mono/dotnet-integrati...
[3]: http://www.oracle.com/technetwork/oca-405177.pdf
edit: word choice
[1] https://aws.amazon.com/marketplace/review/product-reviews/re...
I started w/ Slackware and moved to Red Hat and then Fedora but eventually RH and Fedora became "the Linux that couldn't" when I was installing on either an old or new machine. On the same machine Ubuntu would install just fine.
I run a Windows desktop now and mostly use Ubuntu Linux in AWS, sometimes inside a VM on my local machine. I used to run the RH-derived AWS Linux, but eventually I learned how to do things easily in Ubuntu, such as installing and maintaning an Oracle JVM, that are hard in Red Hat. Definitely an enthusiast could find a solution with RHEL, but having a server OS that "just works" is what you need if you are the guy who splits his time between devops and bizdev.
That means that for N cloud hosts Red Hat would have to potentially build N different patches for any update or security fix.
Now you can't certify software to run on "RHEL 7" anymore, it has to be "RHEL 7, assuming it has XYZ, which some cloud hosts don't".
It can be done, but it's a huge hassle, it's much easier to just ship the same distro to everyone. Space is cheap.
Why would they have to do that? AFAIK, patches apply to packages, not the entire distro. If $package_x isn't installed, it doesn't get the patch. If it is installed, it does get the patch.
And for me, the concern isn't space, as much as running processes, and littered un-needed files.
I think this whole line of argument is just some misplaced nostalgia for distro micro-optimization. It's not the mid-90s anymore. Space and CPU is cheap, you're not going to gain anything significant by trimming down your distro.
If those things were actually important you wouldn't be using Azure in the first place.
ASP.Net MVC, is very subjective. It definitely is very 'weird' from the perspective of being on a static language platform but embracing 'magic' over standard type safety.
I will give you routing though, i dont really think it 'sucks' but i have lead development teams using MVC for years... whenever a new developer who isnt familiar comes on board, the most significant 'learning curve' is the routing... i am not really a fan myself but i understand what the value proposition is...
I can be civil till certaint point, but how to be more civil when you have no idea of what you are talking about and instead of admiting it you just keep making more ignorant statemens?, just say "I have no clue" and that's it, nobody is going to judge you.
>the fact remains that the default routing system is fairly mediocre, for no particular reason
You keep repeating the same as a broken record, yet, you have presented zero evidence, there is no route that I have implemented in Java that I wasn't able to replicate in the same way or even more easily in .NET, be it MVC or Web Api, so please, present some evidence or go home.
Just decent? I dissagree, it is the best language to my taste.
>NET MVC, though, is far from impressive
Tell me what is impressive them, becuase to me is a well stablished, easy to use and learn with static typing, there is nothing better.
>The routing is crap
The routing is highly configurable, by default it mimics Ruby on Rails routing and if you don't like it you can use your own, you have no idea of what are you talking about.
>Razor is designed to encourage you to dump C# straight into your views
Just like in JSP pages you can write Java code, or in ERB pages you can write Ruby code or in EJS pages yu can write JavaScript code, and if you don't like there a re plenty of options.
>which I really don't see as the future of web development
Your personal views are just that, personal, at least inform your self well before making ignorant statements.
As is yours, so why bicker?
C#/.NET is also my favourite, but it's not the be-all and end-all of web development. It might be the best for all of your projects, but not for everyone else.
It has it's flaws, like everything else, and I'm happy for you that you haven't used it (or anything else) for long enough to discover them.
And if you like functional programming, use F#. It's pretty great.
That's not the point of this. MS is positioning Azure as the cloud for enterprise. Azure can run a bunch of hosted services you had to administer yourself (Active Directory, Office 365, etc.), it can run any Windows server apps you had, and now it can run enterprise Linux apps on the most popular enterprise Linux distro. So if you're a company that has Office, Active Directory and an Oracle database running on RHEL, you can move your everything into Azure.