Live data from Hacker News

Let's stop bashing C#

codeaddiction.net

31–40 of 99 posts

Re: Let's stop bashing C#

#31
I use C# daily at work and my dislike can be summed up by one word: Microsoft.

They may have changed course but open source software has for 10+ years largely avoided the platform. This means C# is Java with nicer syntax but 10% the libraries and terrible cross platform support.

There's been countless times at work when I needed a certain library and I already knew what the Java equivalent was, but what I was looking for simply didn't exist. Database clients, data processing, http2, image manipulation, etc...

With Java I get everything I do from C# plus all the stuff they've been raving about working on in .NET core . Plus I get choice. There's 3 full featured IDE's, 20 or so servers, 6 or 7 JVM's

Re: Let's stop bashing C#

#32
post #22

There is no reason to bash C#, but there is still reasons to be on the fence about it. The runtimes and libraries for non windows platforms are still behind, and are quite new. Additionally while there has been efforts to grow the community and get outside involvement, it is still obvious that Microsoft is the big player, and without their involvement the community might shrink to a fraction of its size. Microsoft it…

Integrated Development Environment, Built in package manager, massive maintained ecosystem of libraries, fastest compiler in production (after lisp languages), compiler as a service, full runtime reflection and emit capabilities, three GUI libraries + Designers built into the IDE, A full blown MVC web backend toolset. There is more, but is this not enough? The language isn't perfect, but the idea that it has to prove itself to anyone is quite an arrogant stance to be honest.

Re: Let's stop bashing C#

#34
C3 is awsome... dosen't matter if not anyone can see. But what really helps c# being awsome is VS. One of the most complete IDE in market. I use VS since 6.0 and still founding new features that is surprises me.

Re: Let's stop bashing C#

#35
.NET Core isn't packaged for Debian, Fedora and CentOS, and for Ubuntu you have to add a separate PPA.

That makes it an instant no-go for me. I'm not a software packager and I'm not becoming one to try new and unstable C# tooling.

Visual Studio Community was a pretty terrible experience and I don't intend to spend more of my time on unreliable Microsoft products.

Re: Let's stop bashing C#

#36
post #9

I never heard anyone bashing about C# and I'm writing C# code for 10 years now. There are just plenty of people favouring other languages which is fine. If you're looking for people bashing about it you'll sure find some.. same goes with basically everything.

There's a small ammount of trolls that spam "M$" kind of arguments but they are largely ignored from what I've seen. On the flip side there's a lot of people who over-represent C# especially in comparison with Java. I mean the language is very nice, better than Java no doubt - but the platform and ecosystem is much less mature than JVM. Where is the .NET equivalent of ZooKeeper, Hadoop etc. .NET can use those like an…

Yes this 100%. Community ecosystem is a joke on C# compared to Java. Take for example lucene. I just used version 3.03 in a C# project because the port hasn't been updated in years. Version 6.x is the current one.

We also needed to use Redis in C# and the client is unstable. Nothing we can do about it besides catch the exceptions and randomly reconnect when it happens. Are we losing some data? Probably.

Even if the open source community embraces C# it will take 10 years before the offerings are comparable to Java. And for what? C# is nearly identical to Java in design and performance, it just has slightly prettier syntax

Re: Let's stop bashing C#

#37

.NET Core isn't packaged for Debian, Fedora and CentOS, and for Ubuntu you have to add a separate PPA. That makes it an instant no-go for me. I'm not a software packager and I'm not becoming one to try new and unstable C# tooling. Visual Studio Community was a pretty terrible experience and I don't intend to spend more of my time on unreliable Microsoft products.

What do you code in normally?

Re: Let's stop bashing C#

#38
Stop defending the language of your choice as well. Each popular language has its own set of suitable use cases. Ignore the attacks on the language you are using, instead, try the other languages to see what they are good at.

Re: Let's stop bashing C#

#39

Earlier quoted context omitted.

There's a small ammount of trolls that spam "M$" kind of arguments but they are largely ignored from what I've seen. On the flip side there's a lot of people who over-represent C# especially in comparison with Java. I mean the language is very nice, better than Java no doubt - but the platform and ecosystem is much less mature than JVM. Where is the .NET equivalent of ZooKeeper, Hadoop etc. .NET can use those like an…

Yes this 100%. Community ecosystem is a joke on C# compared to Java. Take for example lucene. I just used version 3.03 in a C# project because the port hasn't been updated in years. Version 6.x is the current one. We also needed to use Redis in C# and the client is unstable. Nothing we can do about it besides catch the exceptions and randomly reconnect when it happens. Are we losing some data? Probably. Even if the o…

>C# is nearly identical to Java in design and performance

One important difference that can make Java almost impossible to use in some scenarios is value types - and that's a pretty big thing when you need to control memory layouts, deal with huge arrays of small structs, etc. Other than that I agree.

Re: Let's stop bashing C#

#40
post #22

There is no reason to bash C#, but there is still reasons to be on the fence about it. The runtimes and libraries for non windows platforms are still behind, and are quite new. Additionally while there has been efforts to grow the community and get outside involvement, it is still obvious that Microsoft is the big player, and without their involvement the community might shrink to a fraction of its size. Microsoft it…

Integrated Development Environment, Built in package manager, massive maintained ecosystem of libraries, fastest compiler in production (after lisp languages), compiler as a service, full runtime reflection and emit capabilities, three GUI libraries + Designers built into the IDE, A full blown MVC web backend toolset. There is more, but is this not enough? The language isn't perfect, but the idea that it has to prove…

If I am going to have to support an application written in it to clients, then damn straight the language needs to prove that it will be worth the investment.

Many of the features you mentioned are not available for the .net core version. The .net core version is not a standard install on client servers (it is not shipping with RHEL/CENTOS) and is still very recent. Having supported dozens of Java apps through the early versions, the last thing I want to do is spend my time discovering esoteric runtime / os library version conflicts.

So yes, the language needs to prove itself that as a platform for delivering Linux / Mac server apps that it is as boring and reliable as the rest of the stack.

Post reply on HN