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. 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.
I've been a cross-platform coder for about a decade now. I liked the ideas of Java and .NET when they came out, but they were lacking in execution. If you look at everything powering technology today: Big Data, Node.js, Android/iOS, cloud remember (Hotmail was bought by MS, originally on BSD servers) Microsoft hasn't done squat. Meanwhile MS has delivered a lot of failed tech: WinForms, Zune, Windows Phone. (I've only ever seen two people with a Windows Phone) Only the Xbox and .NET have succeeded. I would be very concerned hitching my trailer to MS. They don't do innovation anymore, they don't even do copying (embrace and extend) well.
A big .NET friend of mine has recently taken to web development. He develops on OSX, deploys to Linux (AWS). He loves how he can take one thing and just run it on another. He doesn't have to worry about putting IIS on Linux, Node works everywhere. The code he develops isn't tied to any specific OS platform. Angular is node dependent, but Knockout isn't.
And there in I think the real danger is realized. If you use .NET you are locked into MS stagnant mono-culture, and their failing culture of innovation. If you want bleeding edge, OS agnosticism, MS isn't going to deliver it. Their goal will always be to lock you into their vertical to protect their verticals.
With the very good developments in Linux and the Apple premium is gone, only organizations with legacy applications need consider any Microsoft technology.
PS. I use Qt for everything on Mobile and desktop, Node for server and Knockout/Angular for web client. There is a slight possibility that Qt's QML will work on the web. Python for anything else. This is crossplatform, and not one drop of MS. It is my speculation that MS is a wounded animal, realizing they are like Cadillac. Cadillac realized the average age of their customers were getting older, and over 60 and that market would be no longer driving in a few years. There's an exodus from MS platforms. Their new focus aims to fix this. Buyer beware. Where is the money in it for them?
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
Monster:
Dice
So, ONLY on Dice and ONLY in Redmond, WA--Microsoft's home--are there more .NET jobs than Java. Everywhere else Java kills .NET.