• voxel
    link
    fedilink
    18
    edit-2
    1 year ago

    tbh c/c++ type system is super fucked up
    What the fuck is unsigned long long int just call it u64

    • Johanno
      link
      fedilink
      61 year ago

      Well it isn’t always 64 bytes. Some architectures differ.

      • darcy
        link
        101 year ago

        usize then

    • akari
      link
      fedilink
      31 year ago

      you can just use unsigned long long (drop the int) or, if it bothers you that much, uint64t but keep in mind that yhe size of unsigned long long may vary depending on the architecture

    • zer0
      link
      fedilink
      121 year ago

      The use of it quite limited in the every-day coders life. People acting like they be using 500TB databases these days.

          • @kakes
            link
            61 year ago

            I don’t see a use for embedded systems that can’t be adequately replaced with a Windows PC smh.

      • @[email protected]
        link
        fedilink
        81 year ago

        I use uints every day at work. They’re very useful for cases when you’ve only got a single byte or two bytes to work with. E.g. an 8-bit int will only get you to a max of 127, but of course an unsigned 8-bit gets you to 255. Similar concept with 16/32/64s. Very useful when you’re working with small amounts of available memory, such as when writing code to go on ASICs.

    • bioemerl
      link
      fedilink
      11 year ago

      Yep, I always default to the largest possible type because compute is less valuable than my time on the weekend and the potential for any sort of overflow.

      Long

      Double

      Big int

      Etc.

      • darcy
        link
        21 year ago

        why not just compile with overflow checking? assuming the number should not reach the limits

        • bioemerl
          link
          fedilink
          11 year ago

          The compiler doesn’t know what numbers are going to go into a variable, that’s a runtime thing. They might prevent a crash that way, but a crash or not doesn’t matter when people need the number in the database and the database doesn’t let you put the number in the database.

          • darcy
            link
            1
            edit-2
            1 year ago

            i mean, at least with rust, running in debug mode (or release with flags) will hard panic if an overflow occurs, bc it checks everytime a number is changed. it is obviously less performant to do this, so it does not check when running in release/production mode. the problem is if you need to have no overflows occur, it is better to throw an error and exit the program, than cause unexpected behaviour, eg. as an incorrect, but existing array item. this could be hard to find the cause of the bug if it doesnt throw

            • bioemerl
              link
              fedilink
              21 year ago

              I’m a C# dev so I forget that anything that’s not this case even exists. Agreed 100 percent.

    • @[email protected]
      link
      fedilink
      21 year ago

      laughs in reinterpret_cast

      Is it even a programming language if you can’t casually introduce type overflows?

  • darcy
    link
    71 year ago

    typescript is still weakly typed.

    it is just a hacky static analysis that compiles to weakly typed js