• masterspace@lemmy.ca
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    2
    ·
    edit-2
    4 hours ago

    C# is just flat out objectively better language, in virtually every single way

    • m532@lemmygrad.ml
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      22 minutes ago

      Wrong its by microshit that makes it worse

      Also java is better designed

      Also java doesnt have builtin sql like shit, I hate SQL

      Also java has intellij

      C#s capitalization scheme is also stupid

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      5
      ·
      3 hours ago

      Eh, I’d argue that Java and C# are in the niche of having few features. While I don’t like this niche, Java having even less features makes it stand out more in this niche. If you’re looking for a language with more features than that, then there’s so many more feature-rich choices than C# that I just don’t feel like you’d choose C#, unless you want Java with integration into the Microsoft ecosystem.

      • masterspace@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        48 minutes ago

        I’m not talking ecosystem or which I’d choose to build an actual project with, just on a pure language basis, C#'s typing system is more flexible and less verbose than Java’s, and unlike Java, C# actually treats functional programming as first class.

        Java has certainly gotten better in both regards, but C# was really just a joy in comparison.

      • tias@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 hour ago

        Well it’s always about finding a good balance isn’t it. Too many features like in C++ has negative consequences. Preferably you want something that lets you do all that you need to do, but not more. The trick to designing a good language is to let developers achieve as much as possible with as few features as possible, while keeping the code easy to reason about and understand.

        This is obviously both subjective and highly dependent on what problem you are trying to solve, but I can’t think of any situation in my career where C# would not have been a better a choice than Java from a strictly technical perspective. It’s not just that the C# language is better, it’s that the Java ecosystem is founded on poor design choices that result in code bloat and implicit behavior that is hard to troubleshoot and secure. See e.g. Spring, which automatically picks up and loads any logging library that happens to be in the user’s path, even if that is an exploitable version of log4J. Java has become corrupted by enterprise architects. This satirical project demonstrates what I mean.

        I say this as someone who is currently developing a FOSS Java library in my spare time, out of frustration with the Java code I had to endure at work.