Tech IndustryFeb 28, 2022

Don't like code in C#

I'm an average programmer, I have experience coding in JAVA, TypeScript/JS, Python and C#. Recently I found myself getting more and more tired of coding in C#. There are a lot of things I don't like about .NET or C#. Maybe it's just me. Here are some thoughts kept on top of my head when coding or review PR, welcome to debate 1. string vs. String 2. XML comment doc is useless, I like the concept your code should be clear enough to explain itself with minor inline comments. But I constantly got PR comment to add XML doc. Do folks really care and read docs generated off those XML comment? 3. How many ways to send HTTP request. I was shocked .NET Core 2.1 http client won't let you set custom header X-YYY easily as it's not standard. 4. const string vs. static readonly string 5. Why not just call Dictionary class a MAP? It saves typing at least. 6. Legacy services using .NET Frameworks 3.x 4.x .NET Core 2.1 and new services in .NET 5 and future .NET 6. Context switching jumping around. 7. NuGet package management sometimes won't work with weird error message and clean then build just works again. 8. Visual Studio is slow and have weird issues between updates, I'm fan of JetBrains and VS Code 9. Ecosystem is not good as other languages, constantly have to spend a lot of time googling solutions for problems and usually find a workaround seating in a random blog post. The official docs are basically saying "Here is how to write hello world, now go back to work and implement that distributed secure robust micro services" 10. Bulky code to just do one thing, I get for OOP and strong typing. But working with lots of GraphQL or RESTFul APIs is slow even I could use code generator. How many files you need to touch or create to add a single new api? Controller class, IService interface, Service for implementation, Startup, Configuration models, Data models for input and output, appSettings... 11. namespace has nothing to do with file path, good or bad? In Java at least if I open file in vim I could tell where it lives. 12. Extension and partial classes should be banned. I only see value to use extension classes when you don't have write access to source code of packages you are using and would like your code looks clean a bit. ... YOE 5 TC 300K

Qualtrics YS0SRS Feb 28, 2022

I don’t like them either. They are old and limited to specific, and guessing MSFT will use them heavily being Windows/Linux.

Microsoft Tc.Slut! Feb 28, 2022

Qualtrics uses C#?

Qualtrics YS0SRS Feb 28, 2022

Some do, I don’t.

Iterable plznoban Feb 28, 2022

C# is god’s language.

Microsoft Fychj OP Feb 28, 2022

Keeps adding syntax sugars, not willing to cleanly chop off legacy support.

Microsoft Fychj OP Feb 28, 2022

I feel the best bet you would develop things quickly with .NET is that you are using .NET 6, Azure, everything like auth in the same and standard way from official doc. Don't try to customize to much to match what you are interested in.

Amazon Phone Tool Feb 28, 2022

Lol complain to your colleagues instead of us 🤣 I'd pick C# over Java any day tbh, especially in a (micro) service oriented company.

Microsoft Fychj OP Feb 28, 2022

Have worked at 🍌 before so had hands on java experience, but I found CSharp worse when you hit some problems and spending an afternoon googling and testing. Some blog author let you guess if it's for .NET Framework or .NET Core or .NET 5...

Amazon Phone Tool Feb 28, 2022

Hmm maybe you're doing a lot of experimental stuff and tinkering around? But fair. I might be biased without enterprise exp. though, mainly used it during my time in uni as MS was essentially keeping our uni alive... A lot of courses and such were in relation to MS' products 🤮

VMware cosmica Feb 28, 2022

C# is a decent language but .NET ecosystem is so annoying. Visual studio UI is horrible. Wasted a year of my life on C#/.NET. I’ll never touch that junk ever again.

New
mpmkloc Feb 28, 2022

I hated working with .NET Framework, but I think they really turned things around in the last few years since releasing .NET Core. There is a lot of confusion between the two and I think that doesn't help.

eBay bugtub Mar 1, 2022

It’s funny how you are complaining about http client? Try using http client in Java. Just sooo many options. But I agree C# is taking compiler generate syntactic sugar a bit too much with all the recent addition. But look at the bright side. Async io programming is miles better than Java with async await. Not all is bad.

Microsoft EWEC Mar 27, 2022

I love javascript ;)