C# on .NET Core is now my preferred development platform
For years I've been pointing out the problems with C# and .NET, but sometime during the last six months I realized I now prefer it to the alternatives for most of my work.
It boils down to a number of reasons:
- The tooling never seemed to catch up with Java modules. In particular NetBeans, my IDE of choice since a few years back, was got stuck in the transition between Oracle and Apache.
- Don't get me wrong: Java's tooling for anything else is still way ahead of anything else in my opinion. And yes, this includes Visual Studio, again in my opinion.
- .NET Core now has better developer ergonomics on Linux then Java has. I still miss Maven, I still the miss built-in refactoring tools from NetBeans (or IntelliJ or Eclipse), but dotnet cli makes up for it in a number of other ways.
- C# was always a better language than Java.
A number of other languages has been on my radar, here is why I prefer C# over them:
- Python:
- IDE support.
- Also as I grew older I don't think it is that beautiful anymore. Especially when I have to support other peoples python code.
- Deploying it (without docker) can become messy for a number of reasons.
- Go: Have used it a bit, and even thought of making it my preferred language. It has a number of nice properties, particularly that it compiles to static binaries. Still:
- There's very weak support for it in VS Code (I even think PHP is better supported, but I'm not sure)
- Some of the ideas around the language just seems weird to me and based on the adoption of the language it seems I'm not alone.
This post might or might not be finished, feel free to contact me, mastodon address available on the about me page.