this post was submitted on 21 Jun 2023
28 points (93.8% liked)

.NET

1438 readers
5 users here now

Getting started

Useful resources

IDEs and code editors

Tools

Rules

Related communities

Wikipedia pages

founded 1 year ago
MODERATORS
28
submitted 1 year ago* (last edited 1 year ago) by sisyphean to c/dotnet
 

The original thread is on the devil’s website and I don’t want to direct traffic to it, so here’s a link to the tweet instead:

https://twitter.com/davidfowl/status/1671351948640129024?s=46&t=OEG0fcSTxko2ppiL47BW1Q

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago

The things I bump in the most:

  • Mutability. Everything is passed by ref so imutable and/or copy should be an important factor of the language, but it's not. Struct vs class also was way to much impact but can both be used for an interface argument but have such different flow.
  • Compatibility is always favored over improvement in the framework design and language. It has obvious pros as we need less porting, but newer functions in the language are often weird to work with and frameworks get replaced instead of improved, making the porting even harder.
  • A lot of features work magically simple until you want some kind of custom behavior and they then become unmanageable complex. Like the default XML serializer where you can do no extension and everything can get serialized, or async function that abstract the threading untill you want to manage multiple parallel function with error checking and you get very weird and confusing code. Thay all work magically easy as long as you use them for nothing more difficult than the examples.