• Murdo Maclachlan@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 year ago

    Image Transcription: Meme


    [Four images of toilet roll holders, each with text above them.

    The first shows a toilet roll holder holding a partially-used roll of toilet paper. Its text reads, “Non-zero value”.

    The second shows a holder holding a completely used roll of toilet paper, leaving just the cardboard tube. Its text reads, “0”.

    The third shows a holder with no toilet roll or cardboard tube on it at all. Its text reads, “null”.

    The fourth shows no holder; simply plain wall. Its text reads, “undefined”.]


    I am a human who transcribes posts to improve accessibility on Lemmy. Transcriptions help people who use screen readers or other assistive technology to use the site. For more information, see here.

  • RandomBit@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    In C/C++, undefined should be the meme of the little girl smiling while the house burns down behind her.

    • nintendiator@feddit.cl
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      In C. In C++, the image is zalgoified, corrupted, cropped, lens flared, color-inverted, and for some reason converted to Targa file format.

        • CanadaPlus@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 year ago

          Yeah it’s a bit inaccurate to say it’s not supported. It just has edge case handling written explicitly into whatever thing you’re building (I assume it’s required to do so in order to be well-typed). It took this idea from Haskell, which might have gotten it from Miranda or something.

      • traches@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        It also doesn’t have throw/try/catch. If a function can fail, it returns a Result and you have to deal with the failure case explicitly.

  • Speiser0@feddit.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I see how you censored at “undefined”. Thanks. The actual value could easily kill anyone who sees it.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Basically JavaScript uses undefined to mean keys that don’t exist. You know how sometimes when you’re wondering about the semantics of “present but null” and “absent”? It’s basically that. Undefined means it isn’t there but things are only null if they’ve been set to null.

      There are probably more nuances but that is the gist.

    • ipkpjersi@lemmy.one
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Depends on the programming language. In JavaScript, it literally means that like the key or variable does not actually exist. Whereas like in C/C++, writing random bytes to random memory addresses would result in “undefined behaviour” which means basically anything could happen.

      • crystal@feddit.de
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        1 year ago

        In Javascript you can do let a = undefined, defining the variale a as undefined.

        A significant difference to defining it as null is that typeof null == "object", while typeof undefined == "undefined".