Meme transcription:

Panel 1: Bilbo Baggins ponders, “After all… why should I care about the difference between int and String?

Panel 2: Bilbo Baggins is revealed to be an API developer. He continues, “JSON is always String, anyways…”

  • bleistift2@sopuli.xyzOP
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 days ago

    I’m not sure if you’re getting it, so I’ll explain just in case.

    In computer science a few conventions have emerged on how numbers should be interpreted, depending on how they start:

    • decimal (the usual system with digits from 0 to 9): no prefix
    • binary (digits 0 and 1): prefix 0b, so 0b1001110
    • octal (digits 0 through 7): prefix 0, so 0116
    • hexadecimal (digits 0 through 9 and then A through E): prefix 0x, so 0x8E

    If your zip code starts with 9, it won’t be interpreted as octal. You’re fine.

    • xthexder@l.sw0.com
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      3 days ago

      Well, you’re right. I wasn’t getting it, but I’ve also never seen any piece of software that would treat a single leading zero as octal. That’s just a recipe for disaster, and it should use 0o116 to be unambiguous

      (I am a software engineer, but was assuming you meant it was hardcoded to parse as octal, not some weird auto-detect)

        • xthexder@l.sw0.com
          link
          fedilink
          arrow-up
          5
          ·
          edit-2
          3 days ago

          Interesting that strtol in C does that. I’ve always explicitly passed in base 10 or 16, but I didn’t know it would auto-detect if you passed 0. TIL.

      • Doc Avid Mornington@midwest.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        It’s been a long time, but I’m pretty sure C treats a leading zero as octal in source code. PHP and Node definitely do. Yes, it’s a bad convention. It’s much worse if that’s being done by a runtime function that parses user input, though. I’m pretty sure I’ve seen that somewhere in the past, but no idea where. Doesn’t seem likely to be common.