One of the reasons I love go is that everything seems to be explicit. Notice something occurring? Well chances are you can set a breakpoint and trace what’s happening
One of the reasons I love go is that everything seems to be explicit. Notice something occurring? Well chances are you can set a breakpoint and trace what’s happening
Search for info on .NET and you will find stuff on ASP.NET, .NET Framework, .NET Core at the very least. Probably more.
You have to really know what you are looking for and that's hard sometimes because everything is just .NET
Sometimes I feel like being on JEE 1.4 days.
Gotta love those enterprise architects.
Now go on to work on codebases with rules that every class must have an interface, there are no news, everything must come over service locators, 3rd APIs aren't accessed directly, rather over wrapper classes,....
Ah and no PR ever gets accepted if the rules aren't followed.
It is starting to settle down into a sensible place since .NET 5 though.
If only they would drop ".NET" and "C#" and officially replace them with dotnet and csharp in all material.
But like any language, it just takes discipline to stop your team building this bloat.
A CLI app in .NET is as clean as you build it, and sensible frameworks are now available for web stuff too.
I wish they would have just called the new version ".core" and be done with it.
For a long time, it was difficult to figure out if a particular piece of information you found by googling ".net" was for the old or the new. Things are improving though, as the old version gradually fades, so you can reasonably assume the new version unless stated otherwise...
Anyway if you hate developing in .Net dont do it but I personally find it a lot more enjoyable than other languages ive worked with.
What does it mean? dependency injection?
From the tone of the OP I would assume that things such as encouraging good engineering practises such as good interface design and using appropriately sized units of code are also "problems" with .Net. You hear that a lot from inexperienced developers.
The thing is - the modern framework is far nicer and has largely avoided the problem. Even to the point that I prefer occasionally having to deal with some of the ugly enterprise libraries to the constant hunting down of broken dependencies, vague runtime bugs or massive framework churn you see in the Python/Javascript world. Or having an overly verbose and ugly language like Go or Java.
WCF had problems with configuration complexity, but that was because it was ambitious! It had so many capabilities and provided a uniform configuration interface for all of them, so it was complex.
.NET was built as a platform to allow ALL sorts of programming, not just beginners level - therefore it comes with a degree of complexity.
I've come to appreciate that mostly people calling it 'too complex' or 'enterprisey' just haven't understood why someone else needs the features they don't understand yet.