I prefer Rust or even Node/TypeScript myself, but have worked a lot in the .Net space since pre release in 2002.
I prefer Rust or even Node/TypeScript myself, but have worked a lot in the .Net space since pre release in 2002.
JavaScript and typescript exist in a bizarre netherworld of not really being type safe and not really being type free. It makes for some truly strange code bases that reflect whatever is cool but none of it aged well.
Npm is hideous. Dreadful. It’s a daily struggle especially if you have to deal with private repos (azure specifically).
C# is just a better language. Better, more expressive collections and a type system that has consistency. EntityFramework for databases is fantastic, node has nothing remotely as good.
.NET and Nuget are a breeze. I would go as far as saying Linux is the superior experience when programming .NET since you spend a lot of time with the CLI and power shell sucks.
*PS core is the one based on the new versions of dotnet.
If it's a simple script, bash is in the box... If it's more complex, I'll reach for a more rich scripting platform.
It has been very useful to me to use as a REPL on my own C# libraries, I can instantiate and use types from these libraries and interface with the file system and network on an ad hoc basis.
Powershell tries to be everything and ends up being too much, badly implemented. I have dabbled in it for Windows/Microsoft specific things (Outlook manipulation) but while you can write a PS script that tries to do something like delete all yesterdays mail with a particular characteristic, in practice it often doesn't work due to the impedence mismatch between COM and PS. I like the idea, I really do, but it's just not as straight up practical as the Unix tools.
I also like the expressiveness and productivity I get out of it. Though many of my issues with C# comes down to the culture in practice more than the language.
C# is better when you have more firm constraints and the coffee will be longer lived and worth the complexity. It's just the difference between a script and a full program/application with all that involved in the Net space.
My point was mostly that. Net is still pretty good for things in Linux even without a blessed, official desktop UI framework.