Slashdot Mirror


Ask Slashdot: Is an Open Source .NET Up To the Job?

Rob Y. writes: The discussion on Slashdot about Microsoft's move to open source .NET core has centered on:

1. whether this means Microsoft is no longer the enemy of the open source movement
2. if not, then does it mean Microsoft has so lost in the web server arena that it's resorting to desperate moves.
3. or nah — it's standard Microsoft operating procedure. Embrace, extend, extinguish.

What I'd like to ask is whether anybody that's not currently a .NET fan actually wants to use it? Open source or not. What is the competition? Java? PHP? Ruby? Node.js? All of the above? Anything but Microsoft? Because as an OSS advocate, I see only one serious reason to even consider using it — standardization. Any of those competing platforms could be as good or better, but the problem is: how to get a job in this industry when there are so many massively complex platforms out there. I'm still coding in C, and at 62, will probably live out my working days doing that. But I can still remember when learning a new programming language was no big deal. Even C required learning a fairly large library to make it useful, but it's nothing compared to what's out there today. And worse, jobs (and technologies) don't last like they used to. Odds are, in a few years, you'll be starting over in yet another job where they use something else.

Employers love standardization. Choosing a standard means you can't be blamed for your choice. Choosing a standard means you can recruit young, cheap developers and actually get some output from them before they move on. Or you can outsource with some hope of success (because that's what outsourcing firms do — recruit young, cheap devs and rotate them around). To me, those are red flags — not pluses at all. But they're undeniable pluses to greedy employers. Of course, there's much more to being an effective developer than knowing the platform so you can be easily slotted in to a project. But try telling that to the private equity guys running too much of the show these days.

So, assuming Microsoft is sincere about this open source move,
1. Is .NET up to the job?
2. Is there an open source choice today that's popular enough to be considered the standard that employers would like?
3. If the answer to 1 is yes and 2 is no, make the argument for avoiding .NET.

1 of 421 comments (clear)

  1. Re:MS has been late to every recent tech movement by Anonymous Coward · · Score: 5, Informative

    So much misinformation.

    1) Angular is NOT node dependent, at all. We use it with our own custom .NET web server (libuv + libcurl + our own HTTP stack), with no special support for angular at all (which is a purely client side DSL for web applications built on top of ECMA262, DOM Level 3/4, and a few HTML5 WG specs like a modern Selectors & History API).

    2) You can deploy traditional .NET (ASP.NET / MVC) servers any which way you want too, you can develop on OSX, deploy to Mono on Linux in an EC2 instance, or you can deploy to an IIS instance anywhere you want as well.

    3) You're mixing up technologies, .NET is an brand for the implementation of the CLI & BCL (ECMA specifications (just like JavaScript) that form the framework that is the basis of most MSIL VMs, eg: Mono and .NET's various VMs on windows).

    4) You're tying in ASP.NET / MVC in with .NET in general, however with the exception of M$ shops - anyone writing large scale web servers in .NET is certainly NOT using ASP.NET (horribly stateful, not amazingly efficient), and certainly not plain ASP.NET (they're augmenting it w/ Kestrel or whatever) - they're using an owin compatible server like Katana, Nowin, etc - and using frameworks like Nancy or SimpleWeb, which are the .NET equivilents of Node.js w/ koa or express.

    P.S. I run a .net web service running on FreeBSD on AWS (using Mono) that servers ~300,000 concurrent users at any point in time, not quite 1 million requests/minute on average 24/7 (a barely successful iOS app, enough to sustain a small software company).