• loutr@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      Since Java 14 it looks like this:

      Exception in thread “main” java.lang.NullPointerException:

      Cannot invoke “String.toLowerCase()” because the return value of “com.baeldung.java14.npe.HelpfulNullPointerException$PersonalDetails.getEmailAddress()” is null

      at com.baeldung.java14.npe.HelpfulNullPointerException.main(HelpfulNullPointerException.java:10)

      • Kissaki@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        Formatted, so I can read it

        Exception in thread "main" java.lang.NullPointerException: 
         Cannot invoke "String.toLowerCase()" because the return value of 
        "com.baeldung.java14.npe.HelpfulNullPointerException$PersonalDetails.getEmailAddress()" is null
         at com.baeldung.java14.npe.HelpfulNullPointerException.main(HelpfulNullPointerException.java:10)
        
      • Buttons@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        2 months ago

        I haven’t written any Java since Java 6. This makes me so happy to hear.

        What about XML, and XML based configs? Is the Java ecosystem still obsessed with XML?

        I remember I was once trying to learn Hibernate. After finding what I thought looked like the best tutorial, I skimmed through it and there was literally no Java code in the tutorial about a Java library! It was all XML! I never could understand it, but this was early in my career, maybe I could handle it now, maybe not.

        • loutr@sh.itjust.works
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago

          Nah, Hibernate, Spring and most major Java frameworks have largely moved away from XML. It’s still supported, but these days it’s mostly configured in the code directly, with properties loaded from yaml, JSON or the environment (for containers).

          The JDK ecosystem is in a pretty good spot nowadays. With Spring boot you can whip up a productions ready back-end very fast, or if you prefer a more hands-on approach there are lighter frameworks/libraries quarkus or micronaut.

          The Java language itself has evolved fast and is actually pretty nice now, and if you prefer something more modern akin to TS or swift you can just use Kotlin which is almost 100% interoperable with Java.

      • Generous1146@beehaw.org
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        And a description saying which variable in which object was accessed. Could be better, could be worse 🤷

    • fibojoly@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      Holy shit in so glad it’s not just me. All I have ever seen from Java seems to be NullPointerException. (Which makes sense, but still, it’s pretty funny)

  • UpperBroccoli@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    STOP DOING C++

    • Templates were not supposed to make your error messages explode into unrecognizable gibberish
    • “Yes, please generate 5000 pages of garbage instead of an understandable error message!” - statements dreamed up by the utterly deranged

    Look at what compilers have been demanding your respect for all this time:

    ???

    They have played us for absolute fools.

        • ulterno@lemmy.kde.social
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 months ago

          The wall of text was the error message.

          I just prefer using the parsed outputs from IDEs which also take you to the line of code on click.

        • Buttons@programming.dev
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          2 months ago

          I don’t know. That’s what I was saying. I can’t possible imagine what I could say to help someone understand that error message.

          😉

      • repungnant_canary@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        Okay, but genuinely in what cases the borrow checker caused issues for you? Cause I use Rust for a few years now and have not yet encountered the infamous fight with the borrow checker.

        Also, there’s a “new” and “better” borrow checker coming in 2024 edition.

        • Hominine@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          2 months ago

          'tis but a joke. I’m still learning Rust, and really appreciate the borrow checker.

    • Anti-Antidote@lemmy.zip
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      I had a linker error in Rust for the first time today and I started crying til I saw someone say to just delete the build cache lol

      • qaz@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        With Rust it’s usually just a fluke that can be fixed by doing that, but C++ linker errors may indicate the start of several frustrating hours. That’s been my experience at least.