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.
Fuck you with a rake, sideways. I understand that JavaScript/AJAX is the way to get things done, but I have never seen a good Knockout implementation. If you have a template that replies on AJAX, you either have a default text that doesn't apply if JS is disabled, or the user doesn't know if something failed to load.
Example, visit Youtube with JS disabled - you get a message that this video isn't available. I don't know if they use JS, I assume not, but the HTML does not give me useful information.
It is so easy to do knockout, but so hard to do it well. To rely on Knockout or Angular, both JS libraries, for a web client, is basically to tell your security minded users to just trust you.
Well, I can't trust you and I can't trust your advertisers, so go get a rake.
Your reply is also somewhat confusing to me. I don't think you've actually looked into the issue. .NET popularity has gone downhill as more developers want to use more dynamic and developer-oriented solutions which are almost invariably open source. This is an actual trend; a real statistic, and essentially the reason why MS went ahead and open sourced .NET.
As for C and .NET you can use .NET quite easily with C. Even if your project is strictly in C#, if you know C I doubt you'd have much trouble with C# (other than maybe getting the hang of good-practices?).
There is no real demerit to learning .NET and it's not like it's a poorly designed framework. It's just that it's really designed with this enterprise approach in mind that was once its strengh but is now it's demerit. The "new wave" of large scale app dev isn't to build a Titanic in .NET, it's to build an armada of smaller multi-purpose apps that work together as a group each built with the language and framework that best suits it. There is also the fact that even though open-sourced it's really not easy to do development or deployment on anything but an MS platform, and really only MS products tie in well with it - so .NET still comes with some vendor lock-in and if you aren't an MS shop then that's a huge demerit.