Hacker News new | ask | show | jobs
by dragonwriter 2461 days ago
> But rubyists would’ve loved C#.

As a Rubyist, I'll admit that C# is the least bad of the C++/Java style of static OOP languages, but it was that it was always too tied to the .NET ecosystem and heavyweight enterprise tooling more than Microsoft's “supervillian role” with regard to FOSS that made it unattractive for lots of places where I would want to use Ruby. That's improved with Core, somewhat.

3 comments

I was a fulltime ruby developer before I became a full-time .NET developer (usually by accident). And things like Linq, Visual Studio, and Resharper ultimately allowed me to create code that was highly organized, while never sacrificing productivity or performance.

The thing I always hated most about the .NET ecosystem was having to run on Windows Server, so that's definitely a welcome change with .NET Core.

But C# has always been a wonderful language to work with. And you never really feel the static typing slow you down, yet get all the benefits of not having to write a bunch of useless tests that replace what a compiler should do in the first place.

(Not trying to make this a dynamic/static flame war by the way. I'm a full-time elixir developer nowadays, so I'm still in dynamic-land and enjoy it. Just not dogmatic about any of it)

More than windows it was the GUI centered developer tools and server setup. With powershell and the dotnet CLI things have improved massively. Now that we can just run on Linux I'm absolutely in love. I still use Java for some projects because of library dependencies (and kotlin also makes the work enojayble) but I prefer .net for Greenfield projects
It improved with mono and it's great to see continuation with core by ms. I don't use it atm but I remember learning c# from their beta book before v1, it was better than java even at that time. I've used c# from objective-c macos app maybe 6 years ago, it was pleasure to write c#/objc interop with mono and see same codebase used on windows app working fine (even faster) on macos via mono. The state must look much nicer now whan 6y ago, if I see opportunity to write some c# code now, I won't have any personal reservations, I'll do it with pleasure.

ps. my personal favourite programming languae at the moment is by far Julia and I encourage anybody to have a peek at it - I've missed it somehow[1] [2]; followed by crystal

[1] https://youtu.be/DRKKAFYM9yo [2] https://youtu.be/HAEgGFqbVkA

There was a brief window where mono was in the default Ubuntu distribution along with several mono-powered open source Linux productivity and media applications such as Banshee (media player), F-Spot (photo manager), at least one note taking app, and probably at least one more application I'm forgetting.

There's a parallel world out there where the Gnome project and Linux distributions rallied around C# as a strong way to write applications, instead of the weird backlash/demonization they all soon received that ended such a brief "golden age".

Yeah, .NET Framework was an absolute pain to work with also, there was a lot of boilerplate, especially when it came to ASP, and like you said it was tied to Windows and Windows API. Now with Core it's multiplatform and they're opening up all of the traditionally Windows-based SDKs to Core architecture and making them multi-platform while having them open source.

.NET Core is an absolute pleasure to work with, and while I'm not into Razor views, the web startup modularity and extensability of the pipeline make swapping out solutions a breeze. I can run a full React app in some a wwwroot folder that has almost 0 dependencies on the outer C# code, such that I can plug out the folder and copy it into a new directory and run it like any other React application - that was mind-numbing with ASP non-Core. I love it

ASP.NET MVC was much easier to work with, and WebAPI was even easier (especially with annotation support). Each time, you had even less boilerplate code.