Also, expect to write 5-10 times more code than with other popular languages. You may not notice this when you come from Java or C++ because then it is an improvement.
Also, expect to write 5-10 times more code than with other popular languages. You may not notice this when you come from Java or C++ because then it is an improvement.
.NET is sometimes/often chosen for "performance reasons". In my opinion, for websites or web applications this is completely bogus. ASP.NET will slow your development down so much (compared to Django/Node/PhP/RoR) that you won't see any of those benefits any time soon.
As for the misinformation about writing 5-10 times more code than other popular languages, which languages would that be?
Switching between files when every class is in its own file and you need to touch half a dozen classes for each API endpoint, is more of a factor...
Pardon my formatting I'm on a phone
Namespace foo{ Class class1{} Class class2{} }
And
Partial class foo{ }
You don't need to preface a method with `private` to be so but people still do it, why? My theory is the influx of Java dev influences, same with the "One class per file nonsense".
When working in teams, you really shouldn't put more than one class in one file, except for rare exceptions of very small and inconsequential classes. Otherwise the files get pretty big and the chance of merge conflicts get bigger.
The underlying problem - in my opinion - is that C# encourages you to overcomplicate things and that it is relatively verbose. Of course you can put a class with multiple members and methods in one line. But then it's also unreadable. Readability matters.
All languages with a syntax derived from C have a fundamental readability/verbosity problem, C# is no exception. F# for example doesn't have that baggage and is a lot more concise.
You still need a metric shit ton of classes, so finding any one class gets harder. The chance of merge conflicts increases because of more lines per file.
.NET is open source. You're not dependent on Microsoft at all if you don't want to be. If Microsoft closes shop tomorrow, .NET will live on.
You've got a minimal amount of .NET experience (based on your own assertion 3 months ago) and you're spouting incorrect/false information. You were forced to use .NET, maybe that's why you're so unhappy with it. I've used C#/Java/Go/Python/Typescript/JS in my professional life and I've never felt more productive than when I'm building software with C#/.NET. Is it perfect? Not by a longshot. If I had my way I'd be using F#, but alas it's not popular/well-promoted (that I blame squarely on MS.)
https://news.ycombinator.com/threads?next=29303588&id=bayesi...
You are also beholden to the direction Microsoft wants to take the project/platform. There is nothing the other open source contributors, such as there are, can do about it. Fork? Maybe, but there's not THAT much activity around it anyway.
Again, all of this is a risk or "situation" one may be happy to take. Just be aware of it. At the end, .NET is more code, harder to learn, harder to recruit for, easier to over-complicate, and the ecosystem of libraries is thinner than with Django, Python and Javascript.