Hacker News new | past | comments | ask | show | jobs | submit login

It's a "Microsoft Framework", it's going to be enterprise-y Design-Patterns, convoluted abstractions, Dependency-Injection-on-Dependency-Injection and MS specific code/libs all the way down.



None of the Microsoft frameworks are like that, especially compared to the enterprise mess of Java or constant spaghetti of JS/Go.


> constant spaghetti of JS/Go.

I've written a lot of Go and there are plenty of faults but I'm curious why you consider it 'constant spaghetti' apparently in the same class as JS.


Lack of higher-level language features requiring code duplication/generation, a lean standard library usually necessitating 3rd-party packages, and an utterly terrible module system and fragile tooling setup.

Go is still far better than JS, but both are behind in modules, packaging and overall structure as compared to .NET. gofmt is nice though, more languages should have that.


For all it's other woes, I've had like 80% fewer issues with Go's tooling than .Net's.

- Getting packages installed: trivial

- Getting clean builds: trivial

- Build and run works near perfectly

In comparison .net seems designed to be used _only_ via Visual Studio:

- Why does it re-download the packages each time I ask it to build?

- Why does VS freak out sometimes when there's a terminal window left over from a previous run?

- Why does VS freak out so thoroughly when something changes under it.

- Sometimes it just caches your previous build and thinks it's perpetually broken no matter how many changes you make, restarting seems to be the only option.

- Getting dotnet tools to work from the command line (the way Cargo/Yarn/Julia/Pipenv/etc do) was a confusing affair fraught with instructions like "oh you've got to into this XML file and set these random configs and tell it where x/y/z dll is".

That's before we get to the whole disaster that is "add this as a reference to your project". No programming language has caused me quite as much frustration as C#/.net manages to.


.NET Core is CLI first: https://docs.microsoft.com/en-us/dotnet/core/tools/

We use it all the time, no VS required. You don't have to edit any XML files today, and can use a simple editor like Visual Studio Code or notepad if you want.

Do you have some big old solution that you're working with?


Sounds like .net framework and visual studio. Have you used .net core and the cli?


I’ve used net core, I was attempting to use the cli, but thwarted at every turn.


> - Why does it re-download the packages each time I ask it to build?

Are you using Nuget?


Yeah, normal Visual Studio setup, nothing particularly out of the ordinary as far as I know.

Does it not do that for you?


I played around with a .NET core project, and it didn't seem to do that. I use Rider and/or the CLI to build the project.


So much this




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: