this post was submitted on 21 Jun 2023
12 points (100.0% liked)
C Sharp
1528 readers
1 users here now
A community about the C# programming language
Getting started
Useful resources
- C# documentation
- C# Language Reference
- C# Programming Guide
- C# Coding Conventions
- .NET Framework Reference Source Code
IDEs and code editors
- Visual Studio (Windows/Mac)
- Rider (Windows/Mac/Linux)
- Visual Studio Code (Windows/Mac/Linux)
Tools
Rules
- Rule 1: Follow Lemmy rules
- Rule 2: Be excellent to each other, no hostility towards users for any reason
- Rule 3: No spam of tools/companies/advertisements
Related communities
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Okay, I love these features individually. I loved it when moving from java to kotlin. However, I'm conscerned that these features create multiple ways to do things correctly in C#. Having one way to do things, has been for me one of the best features of C#. It makes it easy to read colleagues code accross generations and easy to onboard new guys.
I do hope we see these adopted quickly, but I hope the C# folks dot start shoehorning in new syntactic sugar for no good reason. The language is starting to get a bit arcane.
Any codebase of any complexity will invariably have its own way of doing things. As long as the dialects are mutually intelligible and using one doesn't make it harder for consuming code to use another, it's usually not a problem. I don't think these features are likely to cause these problems.
A codebase is different than the language itself enabling many ways to do the thing.
You may not think it's likely to cause problems, but have you actually onboarded non c# devs onto new C# projects?
I have been for the last 6 months and let me tell you it really opened my eyes to new problems. One of those is that there are many ways to do the same thing, which has been a consistent pain point for non-c# devs, and has been hurting adoption and general sentiment.
Honestly I didn't think much of it till now, and didn't think it would be that big of a deal. Turns out it is.
Onboarding them onto... what? Out of the billions of possible standards and practices to adopt, you are either showing them which to use, or letting them pick. There is usually not a single right way to do something. This isn't exclusive to C#. Language features are only a tiny subset of the functionality a programming language is used to build.