Live data from Hacker News

6 Months with C#

ruoyusun.com

21–30 of 84 posts

Re: 6 Months with C#

#21
It even saves time, I use it a lot whenever I create an app, even integration with cousins like Visual Web Developer through SQL Its really a good language to use, but promotes laziness. But its my language though so I can't complain about it since I make a living out of it. I got called by an IT company, one of the biggest in South Africa but they want me to program with Java but I'm just not interested in that.

Re: 6 Months with C#

#22
post #5

Earlier quoted context omitted.

Why not write server code for Windows? I fail to see a major reason that would stop one from doing that. Actually, its a pretty good, well supported and documented and stable platform.

It means that hosting your code suddenly goes from a simple equation about what hardware will cost you, in terms of actual servers, virtual servers or other solutions to a matter of involving licensing software just to have your code run. It means that if you ever need to scale up, you'll have to buy more licenses. It prohibits unlimited, automatic scaling. It's also the once a month embarassing ordeal with sites bei…

But what you're not understanding is that they're costs to the alternatives. There's costs to deploying on Linux. There's costs to building software in Java as opposed to C#. There's costs to hiring Linux sys admins as opposed to windows sys admins.

If you don't look at the big picture costs than you lose out on a lot of options.

Re: 6 Months with C#

#23
post #8

I don't understand why everyone on HN hates Windows server so much. From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces. C#, ASP MVC, and Visual Studio are extremely good tools. I've programmed in C# for 10 years and never had a project I could not do quickly with it. It has very good support of 3r…

Windows isn't free, so if you need to spin up 10 new servers to meet demand, you can't just DO it. You have to pay Microsoft for the licenses first. It means that all your test and dev servers need non-free licenses.... it's a non-free hassle.

Honestly, admin on Linux is not that hard, and server most tools out there were designed for linux first, and Windows instructions are often of poor quality or lacking entirely.

Re: 6 Months with C#

#24
post #13
post #3

Earlier quoted context omitted.

There's definitely a lot of C# code out there. I do think that open source C# code is more limited than some of the other popular languages. However, the .Net standard library does so much that you often don't need much more other than perhaps a custom protocol implementation or some UI code. I think Windows is the major drawback to C#. No one with half a brain is going to write server software that only works on Win…

Although the core libraries in .NET are huge, many are also very shoddy. There are also a few great API's, but the overall quality and usability is pretty uneven. This is mostly a problem with API's back from version 1.0 - however, unfortunately, those API's often haven't been updated. Documentation is also not always equally good; MSDN has lots of pages that describe a method Bar.Foo() as "Fooing a Bar", which is ne…

Yeah, the worst ones are the stream ones, some what ironic given that he singles one out over Java. The IO one may have `ReadToEnd`, but it's still nowhere near as simple as Python or Ruby, it just shouldn't have to take that many lines of code to read a file.

And these days I include RestSharp pretty much straight away if I'm going to be doing any HTTP calls, the native HTTPClient API is horrible. But even that's not got the greatest API, there's absolutely no good reason to have to declare a `RestClient` before doing a `RestRequest`, it's just a waste of lines of code. You always end up just writing a wrapper round it.

Re: 6 Months with C#

#25
post #8

I don't understand why everyone on HN hates Windows server so much. From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces. C#, ASP MVC, and Visual Studio are extremely good tools. I've programmed in C# for 10 years and never had a project I could not do quickly with it. It has very good support of 3r…

> From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces.

Having managed both, I have to disagree very strongly. A GUI works fine when you want to manage one machine (although it's kind of a pain in comparison to SSH), but when you want to manage dozens, you need sharper knives. The tools available for automating devops (chef, puppet, etc.) are very oriented towards UNIX-based OSes. We have around 70 Linux machines in our production system today, and if I had to manage them through RDP and GUIs, I'd probably quit and become an alpaca farmer.

Re: 6 Months with C#

#26
post #11
post #8

I don't understand why everyone on HN hates Windows server so much. From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces. C#, ASP MVC, and Visual Studio are extremely good tools. I've programmed in C# for 10 years and never had a project I could not do quickly with it. It has very good support of 3r…

I've done both (win and linux) and they each have their disadvantages and advantages, it would be hard for me to pick a clear winner because it really depends on your skillset and the task at hand. If i were to do a big enterprisey project with a big budget i would definitely be more likely to go with windows while if i were to do a web/online start-up i would more likely pick Linux.

I think you nailed it. Large enterprises want support. Although some also see potential cost savings of Linux.

Re: 6 Months with C#

#27
post #8

I don't understand why everyone on HN hates Windows server so much. From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces. C#, ASP MVC, and Visual Studio are extremely good tools. I've programmed in C# for 10 years and never had a project I could not do quickly with it. It has very good support of 3r…

Because it's too easy! Nerds would rather spend countless hours at the command line figuring things out than having a nice interface to get stuff configured and running. As a developer, I don't want to spend my life also configuring servers - sometimes it's just nice to get things working without a ton of hassle. Of course nowadays we use Azure or AppHarbor for everything but we still have some services running on II…

At our shop we prefer scripting, automation and automatically deployed/centrally configured config over GUIs. The learning curve may be a little higher, but once you've got a taste for how quickly you can do things with scripts, Puppet etc. and how fast you can scale out, you'll find that you actually _save_ countless hours.

We can also use virtualisation everywhere, for testing, quick deployment, offsite deployment, cloud... without worrying about licenses.

The fact that EC2 Linux is significantly cheaper than Azure is just a bonus.

Re: 6 Months with C#

#28
post #8

I don't understand why everyone on HN hates Windows server so much. From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces. C#, ASP MVC, and Visual Studio are extremely good tools. I've programmed in C# for 10 years and never had a project I could not do quickly with it. It has very good support of 3r…

Because it's too easy! Nerds would rather spend countless hours at the command line figuring things out than having a nice interface to get stuff configured and running. As a developer, I don't want to spend my life also configuring servers - sometimes it's just nice to get things working without a ton of hassle. Of course nowadays we use Azure or AppHarbor for everything but we still have some services running on II…

Because it's too easy!

I have to disagree. Windows Server has the illusion of ease, but the same mechanisms that guide your hand in the early days turn into a major hindrance later on. There isn't a Windows server running anywhere that doesn't have event logs jammed full of potentially deadly warnings and errors, and most "easily" setup Windows servers are setup insecurely and wrong.

In my personal experience (and I have a lot of experience with both) I've always found Linux build outs much more predictable and easy.

As to the "counter culture", that goes back to when Microsoft really were the pricks of the technology world. They've gotten much better, but it's hard to shake that.

Re: 6 Months with C#

#29
post #8

I don't understand why everyone on HN hates Windows server so much. From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces. C#, ASP MVC, and Visual Studio are extremely good tools. I've programmed in C# for 10 years and never had a project I could not do quickly with it. It has very good support of 3r…

Because it's too easy! Nerds would rather spend countless hours at the command line figuring things out than having a nice interface to get stuff configured and running. As a developer, I don't want to spend my life also configuring servers - sometimes it's just nice to get things working without a ton of hassle. Of course nowadays we use Azure or AppHarbor for everything but we still have some services running on II…

No one wants to spend their life configuring servers. That's why tools like Chef and Puppet exist -- so you can write code that will do it for you. They just don't work as well for Windows as they do for Linux.

After a significant amount of experience in the .NET ecosystem, I believe the majority of the anti-Microsoft sentiment is well-deserved. At one point, there was a lot of innovation in .NET OSS, but it seems to have ground to a halt within the last few years. It's possible I'm just projecting because of my own experience, but it seems like many of the more influential members of the .NET ecosystem have gone on to do other things.

It's not that Microsoft or .NET is bad -- it's just that there are better options.

Re: 6 Months with C#

#30
post #3

Earlier quoted context omitted.

There's definitely a lot of C# code out there. I do think that open source C# code is more limited than some of the other popular languages. However, the .Net standard library does so much that you often don't need much more other than perhaps a custom protocol implementation or some UI code. I think Windows is the major drawback to C#. No one with half a brain is going to write server software that only works on Win…

No one with half a brain is going to write server software that only works on Windows. Once you step out of your little bubble, you'll realize what a stupid comment that is.

I guess I should have qualified my statement better. When I said server software, I meant servers to host cloud services that need to be easily deployed and scaled with demand. If you're writing a server that's only used inside your own company, and thus doesn't need to scale quickly, it doesn't really matter... in which case, Windows is a decent option, especially if you have a lot of windows devs in house.

However, for cloud deployment, there are a lot of hassles with scaling on Windows, mostly due to licensing costs and hoops you have to jump through for that.

BTW, I write server software for Windows in my day job, so I'm not some Linux zealot who's bashing Windows for no reason. Windows is fine. Non-free licensing is not (when a good free alternative exists).

Post reply on HN