Live data from Hacker News

Let's stop bashing C#

codeaddiction.net

61–70 of 99 posts

Re: Let's stop bashing C#

#62

If the author wants credibility about bashing C# perhaps they should not generalize other languages within their argument. Can C# not stand on its own merits? As someone who has been using Python for nesrly two decades --How is the author defining 'hipster' languages?

Right, it's "bashing" when people say things about C# the author doesn't like, but slagging off other languages as "hipster" apparently doesn't count as bashing.

Re: Let's stop bashing C#

#64
post #44

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…

> my dislike can be summed up by one word: Microsoft. It's not just the current gap, but the absence of long-term guarantees that the ecosystem will stay on the current open-source trajectory. Microsoft can close SQLServer back down tomorrow; nobody can take away Postgres (even when someone tries, like Oracle with MySQL, the community reacts pretty quickly). C# is a nice language and if you stick to the classic MS ec…

Exactly. Even with C# open, until enough years pass for the community to build up, you're still in the House of Microsoft...They just keep the doors open now.

Re: Let's stop bashing C#

#65
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…

three GUI libraries is basically my view of C#.

MS kept designing APIs and kept throwing more things at the platform, hoping for something to stick. The result felt like a massively over-inflated platform with all manners of solutions no one else uses.

I was around when MS was inventing a new take on ASP.NET twice a year (MVC, Razor, &c). I'm still super not a fan of the base runat='*' GWT imitation, and would easily suggest Apache Tapestry as a far more consistent and usable set of tech for people wanting seamless server-powered webapps that also does Ajax far more cleanly. At the time I was using Jayrock to eskew the rest of the platform & do some basic RESTful JSON services, which seemed very low on the priority list in favor of the mixed GWT-alike full interface building in C#, with deep ViewState magic, and I'm still not sure where if at all C# and ASP.NET's sweet spots are when you want to do your front end in JS.

There's a lot of table stakes you've mentioned, and my experience is very historical, but what it felt like watching it happen at the time was that a lot of the platform was an attempt to clone other existing technologies, while not rebuffing older MS users, resulting in constant compromise and shifts as the previous stance proved insufficient and in need of amendment. You've listed some very nice, well implemented technical things the platform has (that a lot of other people have versions of), but what is most impactful for a language is it's standard library, is the platform of APIs it offers, and while the core C# language and structures are pretty good, there's a huge amount of historical baggage one has to wade through to understand what platform APIs are good and useful and in use and which ones one is better off avoiding. It's been a long time since I was in this world, so perhaps some of the newest ones have finally gotten everything right, but the base model- especially for webdev- felt grotesquely off in every permutation, already doomed by desire to keep dragging yesterdays coders and backwards compatibility forward as it tried to make an ok future.

Re: Let's stop bashing C#

#68
post #23

Earlier quoted context omitted.

+1. I mostly heard good thing about C#. It's usually quoted as one of the things MS did right. The biggest rejection comes from the strong windows orientation and the restrictive licenses. Now that the situation is improving for both, you will see the language gain traction.

Despite the strong windows orientation, there was an era when shiny new GTK desktop apps (f-spot for photos, banshee for music) were written in C# using the Gtk# bindings.

I was a big fan of F-Spot, Banshee, and some of the others. The antagonism on some of the mailing lists against these Mono apps was part of my disappointment in some of the Linux community of that era. (Ubuntu moved some of these into the default distribution, got a lot of vocal minority flack from it, and removed them.)

Re: Let's stop bashing C#

#69

Earlier quoted context omitted.

This really sounds like a lack of knowledge of the .NET ecosystem. Every area you mentioned has extensive library coverage. In addition there are several C# IDEs available, including from JetBrains who creates IntelliJ! Roslyn makes fancy features such as auto complete available to text editors as well such as VS Code or Atom.

Okay so my latest issue http2... In C# you have to be running the newest version of Windows to use it. You know how happy my boss was to hear that we needed new server licenses to use http2? Very. Use .NET core? Not ready yet for production yet but probably will be in a few years. In Java I can run Jetty or Netty on whatever and use http2. Old Os or whatever doesn't matter because the protocol isn't tied to the OS ne…

.NET Core 1.x is perfectly suitable for building new production apps today.

Re: Let's stop bashing C#

#70

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…

This really sounds like a lack of knowledge of the .NET ecosystem. Every area you mentioned has extensive library coverage. In addition there are several C# IDEs available, including from JetBrains who creates IntelliJ! Roslyn makes fancy features such as auto complete available to text editors as well such as VS Code or Atom.

[deleted]
Post reply on HN