That and I never got to develop successfully beyond Forms - which I wish was not in preview from designer standpoint. I know old tech, but frankly for older programmers I find it easier and quicker to get stuff up with.
That and I never got to develop successfully beyond Forms - which I wish was not in preview from designer standpoint. I know old tech, but frankly for older programmers I find it easier and quicker to get stuff up with.
.NET was always really solid tech. Microsoft has always had stellar developer technology. But the love affair with open source and the super villain role that Microsoft played, is what kept people away, not the tech itself.
I remember wanting to give a talk about how amazing C# was to a ruby group. I never did it, but it was definitely a quaint idea in 2011. But rubyists would’ve loved C#.
Now the Windows exclusivity of .NET is no longer a thing it's much, much more appealing (who wants to run Windows Server over a Linux server if they can avoid it?).
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.
.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
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'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".
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)
Can even do Type-checking now thanks to Stripe! https://sorbet.org/
If anything, I'd say there's less choice in the Ruby world, especially in the data science and ML fields.
I came from the Java ecosystem to .NET and even they are different. The .NET ecosystem was held back a little by the lack of embracing open source at the beginning and being super commercially focused. So things like finding a good library for easily working with PDF will set you back $400 rather than just using the defacto library that everyone has used forever and is free. I've encountered that with PDF libraries, rules engines, workflow engines, job scheduling libraries.
It's still a decent ecosystem, it just is different because of its roots.
What we have seen over the years is:
1. Deploying on Windows became less popular, partly because it was much harder to manage at scale than Linux, and partly because of the price of licensing.
2. Mono was seen as a toy, and is often considered a critical risk by purchasers. This was even true after Microsoft bought Xamarin, and thus de-facto control of the project, and despite the fact that it was far easier to patch bugs in the open source runtime than in the closed-source .NET Framework (and we ran into several in each).
C# (and even more so F#) is a great language, but was hamstrung early on by Microsoft's approach to competition - I think had this been different early on, the world would look very different with respect to popularity for critical infrastructure vs the JVM. Whether it's late enough to salvage something for a large number of non-traditional-MS is debatable - it will be interesting to see how it plays out over the next few years.