• 0 Posts
  • 7 Comments
Joined 2 years ago
cake
Cake day: July 16th, 2023

help-circle
  • If you like glasses, wear them with pride. If you hate them, get contact lenses (…)

    Tl;dr: agreed with the predecessor.

    Longer version: don’t skimp on glasses. Good ones are an investment, and a good one at that (it doubles down as a tool for work for me, so I decided to splurge a bit more). It’s an accessory as well as something that allows you to live with your eyesight being not up-to-par, so grabbing sth that suits you AND lets you function normally is paramount imo






    • .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


  • And what would that equality entail? Reference equality? You have .Equals for that for every single class. Structural equality? You can write an operator for that (but yeah, there’s no structural equality out of the box for classes, that I have to concede).

    Hell, in newer C# (~3-4 versions back, I don’t recall off the top of my head) you have records, which actually do support that out of the box, with a lot more concise syntax to boot.

    As fir that being Java all over again: it started off as a Java clone, and later on moved in its own direction. It has similar-ish syntax, but that’s the extent of it.