this post was submitted on 13 Nov 2024
1695 points (96.1% liked)

Technology

59370 readers
3921 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
1695
submitted 2 days ago* (last edited 21 hours ago) by [email protected] to c/[email protected]
 

That’s all.

EDIT: Thank you all for detailing your experience with, and hatred for, this miserable product. Your display of solidarity is inspiring. Now, say it with me:

Fuck Microsoft

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 14 hours ago (1 children)

It's a single =

a = 5;

b = c;

And hell, "use .Equal" is exactly what it is all about, have you heard of == ?

Back in the day all the big languages were hard to learn and had lots of quirks, but somehow C/C++ moved on and became quite simple and elegant (you can write the worst trash with it ofc. but that's like saying you shouldn't cook because you might burn your chicken). C# not so much.

[–] [email protected] 1 points 7 hours ago (1 children)
  • .Equals and == have different meaning in C#. Decent IDEs will warn you about that (and yes, that excludes Visual Studio, but that always was crap 😄).
  • As for (re)assignments - I don't see an issue with that, tbh; you only have to be aware of whether you're using a reference- or value type (and if you aren't, then let's be honest - you have bigger problems).

I admit, "canonical C#" looks like shit due to a fuckton of legacy stuff. Fortunately, newer patterns solve that rather neatly and that started way back in C# 6 or 7 (with arrow functions / props and inlined outs).

Tl;dr: check the new features, fiddle with the language yourself. Because hell, with ref structs you can make it behave like quasi-Rust

[–] [email protected] 1 points 6 hours ago

.Equals and == has different meanings? Like === in php or is it javascript 😅

If you don't see the problem with reassignment/pointer walking, then you are just too used to it to notice that it is total shit, how do you even copy the data from an instance of a class to another... Or are you "not supposed to do that"? If so, okay, but then c# is a 'simple' language, a script language like python or php.

Also when you have a class A, make an instance isn't:

A a;

I mean wtf...

To each their own I guess :-) !