• @anus@lemmy.world
    link
    fedilink
    78
    edit-2
    1 year ago

    pervasive unchecked nullability

    Framework management is hell, fat binaries inconvenient and not default

    No option monad in the standard lib

    Cross version dependencies simply don’t work in some contexts

    Compiler output only marginally better than working with c++

    At least it doesn’t have Gradle.

    • ඞmir
      link
      fedilink
      181 year ago

      pervasive unchecked nullability

      Addressed nowadays with the question mark and exclamation mark syntax, and programming without nullability is a pain

      Framework management is hell, fat binaries inconvenient and not default

      Nuget?

      Compiler output only marginally better than working with c++

      No one claims it’s faster at runtime than good C++, it’s just a lot easier to write decent code

      • Billegh
        link
        fedilink
        61 year ago

        Compiler output only marginally better than working with c++

        No one claims it’s faster at runtime than good C++, it’s just a lot easier to write decent code

        I think they’re referring to warning and error content. Compared to things like rust, deciphering error notifications from the c# compiler can sometimes feel like trying to figure out what a child with limited vocabulary is trying to tell you.

        Even with decades of personal experience with it, they can be confusing and non-informative sometimes for me.

        • @anus@lemmy.world
          link
          fedilink
          31 year ago

          Yes this is right. C++ in this context is the boogeyman worst possible scenario. C# only being a little better just means it’s not actual garbage

    • @AdamBomb@lemmy.sdf.org
      link
      fedilink
      English
      101 year ago

      Null reference checking by the compiler is enabled by default in new C# projects.

      C# doesn’t come with an option monad in its standard library, but its cooler sibling F# does.

    • JackbyDev
      link
      fedilink
      English
      11 year ago

      No Gradle

      I have such a love hate relationship with Gradle… I forget exactly what but there was something Maven couldn’t do that made me first try Gradle locally. I didn’t use it professionally for so long.

      Now that I am using it professionally, I’m not sure it’s better. Maybe it’s just a case of “grass is always greener on the other side” sort of thing.

      Some of my gripes,

      1. The documentation is almost really useful, but as soon as you have to look at Gradle’s Javadoc it’s a mess.
      2. I like the kotlin stuff better than groovy but a lot of old guides still use groovy and sometimes it is very confusing trying to translate.
      3. Why the hell does IntelliJ Idea Professional version still not give me code hints for Groovy Gradle files???
      4. I love that everything is customizable, but I think slightly more concrete conventions would be useful a lot of times. Or at least documenting the conventions somewhere.
      5. Why is it so hard to get the Maven BOM experience? There’s always fucking edge cases. Plus, why can’t I do it with plugins too?
      6. Why is there no “task tree” by default? Why isn’t this part of Gradle? https://github.com/dorongold/gradle-task-tree
      7. Why the fuck is JPMS so confusing? This is probably not really Gradle’s fault but still.
      8. Why is upgrading the wrapper so complicated? I have to do two invocations and get the version string myself.