this post was submitted on 26 Jan 2024
90 points (92.5% liked)
Programming
17313 readers
400 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Just don't bring your damn factories over. For some reason Java developers just love unnecessary layers of abstraction and forcing that ridiculous factory pattern.
And they bring it to any language they develop in after Java.
If you see someone saying "no Java developers" for a position, this is why. They've been trained incorrectly, as a joke.
All the core parts of dotnet (e.g.
roslyn
) seem to be built that way. I find them very frustrating to work on. Between that and the whole nuget thing being somewhat FOSS unfriendly, I'd steer people away from C#.I don't get how NuGet is FOSS unfriendly. I mean, at worst you could set up your own repository. All the tools are local. It wouldn't be difficult to set up your own source if that was absolutely necessary.
The whole thing is built around pulling binary packages from servers, and there's no consistent way of building those things from source.
It's extremely difficult to package anything non-trivial without referencing those binary blobs.
They had to build this whole custom thing (https://github.com/dotnet/dotnet) just to make the SDK itself buildable from source, and most releases still have some binary dependencies. They only did it for the SDK so it could be packaged in Debian, etc.