Hacker News new | ask | show | jobs
by kcartlidge 1616 days ago
I'd agree with most of your points - the nature of the MS stack, Windows dev being a mess, docs polluted by related-but-deprecated technologies/versions etc.

Where I'd disagree strongly is dotNET being a mess of forked versions, the language being behind Kotlin, and the runtime behind the JVM.

The DotNet versioning annoys me, but it is actually straightforward. The Windows-only framework stopped at v4, then cross-platform Core began at v1 and now we've reached the point where Core v6 is just DotNet v6 because there is no non-core alternative at this versioning point. If you set aside naming/numbering confusion, you have a forward-moving framework up to v4 being overtaken by a rewritten cross-platform framework catching up then replacing it. There were some mishaps on the way, but this is not a mess of forked versions it is actually a pretty fast deprecation and replacement of a huge system with a massive high quality effort.

As for the main DotNet language, C#, it is generally not considered to be behind any other language out there. Perhaps in some areas different approaches have been taken when it comes to syntax, structure, tooling, but it is a very well designed language that is professionally respected, advanced, and innovative.

As for the runtime, it really isn't behind the JVM. It is supported on fewer platforms, but those it is supported on are very well catered for. Including not needing a (shared) runtime at all as builds can produce single binaries too, as per Java.

So no, the problems don't continue.

I do wonder if your recent experience of it may well be true, but is influenced by it being Windows development. Outside of internal enterprise tools, the main work is on the web/network (not Windows) and that's where it excels.

1 comments

Well, C# has a less convenient syntax than Kotlin but without any more powerful features (maybe linq?). That's what I was getting at. And .net Core doesn't have a pauseless GC or anything like Graal/Truffle.

I agree it's not really a bad stack or dead end for writing Linux web servers, but I wonder how many new projects are adopting it at this stage.