Is your post about C# or the .NET stack? I can (somewhat) relate to using C# over some other languages. However what I cannot relate to is being trapped with the .NET stack.
And a trap it is. You need expensive Windows Servers to host your stuff and Windows just disqualifies itself as a server platform (my subjective opinion). Having to use a powerful latest-tech machine and very recent OS version (2012?) with loads of patches, newest .NET framework just to host a super simple REST service with the almighty IIS is OVERKILL in every sense of the word.
Some people even use this approach when all they do is run an AngularJS powered, single-page javascript web application.
And my bullshit-meter just spikes when I see this kind of (use your imagination).
I agree that Visual Studio is a good choice for Windows software development and that SQL Server is (maybe) a good choice, when you use VS.NET (or .NET at all). But that's just a dependency when you opt for the Microsoft world. Stay clear of it and save yourself some hair.
Just my 2 cents! ;)
Best regards and good look with all that you do,
Steviee
"You need expensive Windows Servers to host your stuff..."
I guess that depends on your definition of expensive. I've hosted my .NET stuff with http://www.discountasp.net for years and yes, they're not free, they're cheap. There are cheaper alternatives than them for IIS, but I like them. They provide a good service. Free doesn't float my boat because I don't want to worry about platform installation, patching and so on. I don't want to do more than FTP to publish.
Also interesting is that I could move to Azure without making a single change to my code. So Azure doesn't lock me into anything either.
"But that's [.NET] just a dependency when you opt for the Microsoft world"
Yes. It is a dependency. If I used Node, then Node.js would be a dependency. If I used Rails, then Rails would be a dependency. I don't get that dependency problem - we're all of us always going to be dependent on something, somewhere. Unless you code up your own OS, stack and tools, and make your own hardware.
Lock-in to Micro$oft is also something I've yet to hear a commercially convincing argument against. Is it really so bad? They've been around since the 80's. They're not going to disappear soon either. They strike me as a safe bet. Why is lock-in such an issue?
If vendor dependence is really such an issue, then design (architecture, if you will) is your mitigation. Abstraction solves that problem (actually any problem, bar performance).
As ever, when I hear these arguments against Microsoft and the .NET stack I hear consistency bias. Our nearly obsessive desire to be (and appear to be) consistent with what we have already done. Once we've made a choice, we encounter personal and interpersonal pressures to behave consistently with that commitment.
Node.js is cool. So is LAMP, .NET, COBOL and GW BASIC. Your choice is the right choice. For you. For your situation. If you're going to throw stones at my choice (not saying you are), I'd like to hear how lock-in to Microsoft will burn me. And after 14 years of hosting my stuff on IIS and developing with the Express Editions of Visual Studio, I'd love to know how it is more expensive than something else that provides a comparable development experience and service.
If I were to make a web backend of some kind I'd go with C#/F#, but NOT IIS, not SQL Server, and depending on the instance costs of hosting, perhaps not windows either.
This is a good list of frameworks, including NancyFx, ServiceStack
> You need expensive Windows Servers to host your stuff and Windows just disqualifies itself as a server platform (my subjective opinion). Having to use a powerful latest-tech machine and very recent OS version (2012?) with loads of patches, newest .NET framework just to host a super simple REST service with the almighty IIS is OVERKILL in every sense of the word.
This is true, I definitely agree.
I am , however, excited to know that they are taking steps to change this. ASP VNext is the next generation of asp.net applications: standalone, framework bundled, cross platform.
We'll see. Hopefully it is not as half-hearted as the other technologies Microsoft tries to establish and then forgets about. They will need to put a lot of effort into it to have something even remotely equal to Node (or other micro servers). And when they deliver, the Node hype could be gone already! ;)
SQL Server is a great piece of software and it integrates very smoothly with other MS software. What I have done on more than one occasion, is to set up a nightly job that mirrors our main (MySql or Postgres) db to a small SQL Server. The finance people can then use this to do data mining through, using the fine suite of products from MS. No need to actually use it for a development platform just for that.
I've tried to sign up for this about 5 different times and have been denied and ignored every single time despite providing plenty of documentation at every turn. Pretty typical of my experiences with Microsoft.
And a trap it is. You need expensive Windows Servers to host your stuff and Windows just disqualifies itself as a server platform (my subjective opinion). Having to use a powerful latest-tech machine and very recent OS version (2012?) with loads of patches, newest .NET framework just to host a super simple REST service with the almighty IIS is OVERKILL in every sense of the word.
Some people even use this approach when all they do is run an AngularJS powered, single-page javascript web application.
And my bullshit-meter just spikes when I see this kind of (use your imagination).
I agree that Visual Studio is a good choice for Windows software development and that SQL Server is (maybe) a good choice, when you use VS.NET (or .NET at all). But that's just a dependency when you opt for the Microsoft world. Stay clear of it and save yourself some hair.
Just my 2 cents! ;)
Best regards and good look with all that you do, Steviee