• masterspace@lemmy.ca
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    edit-2
    14 days ago

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

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      14 days 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
        6
        ·
        14 days 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.

      • ThirdConsul@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        13 days ago

        Out of curiosity, could you give me an example? I usually think the opposite whenever I interact with other languages?

        • Ephera@lemmy.ml
          link
          fedilink
          English
          arrow-up
          3
          ·
          13 days ago

          Well, on the JVM side of things there’s Scala and Kotlin. Scala supports all the object-oriented paradigms + the functional paradigms. Kotlin supports about the same number of features as Scala, although it puts more restrictions on them. On the Microsoft side of things, I’ve never tried it, but I’m guessing F# has to cover a similar object-oriented + functional feature set. Well, and from what I’ve heard about C++, it’s presumably the language with the most features across all languages.

          • ThirdConsul@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            13 days ago

            C# covers all feature of functional programming that comes to mind from Go (edit: not Go, what was it, Haskell?).

            Traits? Done. Monads? Done. Functions as params? Sure. Closures, errors as values, whatever you want.

            What are the specific language features you’re looking for or think are missing in C#?

    • turnip@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      13 days ago

      I don’t understand why any VM language is widely used. Running on every OS makes no sense to me when you could just compile it for other OS, was there some other reason?

      • pinball_wizard@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        13 days ago

        was there some other reason?

        Compiling to an additional OS, today, can be a pain in the ass.

        Compiling to an additional OS, a couple decades ago, was a monumental ongoing never ending pain in the ass.

    • pinball_wizard@lemmy.zip
      link
      fedilink
      arrow-up
      2
      ·
      13 days ago

      It’s weird to me that there isn’t a full four paragraph rant in the Wikipedia article about J# - just complaining about how everyone’s first “Hello World” was guaranteed to fail to compile due to bugs in the file rename algorithm.

      The usability failures in J# are the stuff of legend.

  • uberstar@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    13 days ago

    Java but in an alternate universe (with Microsoft’s trademarked cursetm that follows everywhere). Auto-properties/properties to reduce boilerplate, extension methods, simplified exceptions (I don’t care about being explicit about checked/unchecked exceptions, I just want to throw em and catch em whenever I feel like it! Then again, other languages don’t want you to care about any of that either), Linq and access to the wonderful world of the GAME DEV ecosystem (Unity, Godot). Anything other than that is just splitting hairs at this point.

    • pinball_wizard@lemmy.zip
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      13 days ago

      I have never of anyone calling C# Java.

      Sounds like you missed the fun of it’s first release. We (C# developers) all called it Microsoft Java.

      Edit: I remember answering the question "What the hell is C#?!” with: “It’s Microsoft Java”.

      It gave folks new to the language all they need to know: It aimed to solve the same problems as Java, and didn’t have Sun’s commitment to Open Source behind it.