this post was submitted on 13 Nov 2024
1729 points (96.1% liked)
Technology
59651 readers
2646 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
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
Just for context, I’m an experienced software engineer with years of experience with both C++ and C#, as well as several others, including Rust. You can do shallow and deep copies in C# as well, it’s done extremely infrequently because it’s usually a bit of a code smell and it has some downsides - it’s inefficient both for performance and for memory.
In C# the assignment operator will copy the value if it’s a value type (structs and primitives) and copy the reference if it’s a reference type (classes). It does that because it’s a garbage collected language and it needs to track how memory is referenced and so on.
The whole debate about what languages are better is honestly a bit silly, IMO. C, C++, Python, C#, Javascript, Rust, they all serve their purpose, they have their strengths and weaknesses.
Now you are doing it again, you just say generic sensible stuff strawman way.
Like yeah I know about "the assignment operator" and it's still shitty you can't decide what it's copying. You explaining how it works doesn't make it better lol!
You are also blatantly wrong, there is absolutely no reason to not let you copy a class or pass an int as a ref "because of the garbage collector", if you want to make a language having these functionalities there is nothing preventing it to be done correctly.
Also c# is an inefficient language to begin with, not letting the user do as he pleases is just dumbing things down, nothing to do with efficiency.
Also, we all have tons of experience (5 years xp isn't experienced btw) no need to go get your diploma :-)
And another straw man, when did I say that a language is better than another? Never did I do that, but I guess you are not happy with all your arguments geting shot down.
C# is a crap language, if you are forced to use it like at work, or if you don't want to learn another one, use it!
But you can't polish a turd.
Sorry I insulted your favourite programming language lol.
The truth hurts the most.
"deleted" lmao what did the comment say? OP deleted it after all it seems.