I don’t think that casting a range of bits as some other arbitrary type “is a bug nobody sees coming”.

C++ compilers also warn you that this is likely an issue and will fail to compile if configured to do so. But it will let you do it if you really want to.

That’s why I love C++

  • magic_lobster_party
    link
    fedilink
    564 days ago

    There are no medals waiting for you by writing overly clever code. Trust me, I’ve tried. There’s no pride. Only pain.

    • @[email protected]
      link
      fedilink
      42 days ago

      Debugging code is always harder that writing it in the first place. If you make it as clever as you can, you won’t be clever enough to debug it.

    • @[email protected]
      link
      fedilink
      264 days ago

      It really depends on your field. I’m doing my master’s thesis in HPC, and there, clever programming is really worth it.

      • @[email protected]
        link
        fedilink
        74 days ago

        Clever as in elegantly and readable or clever as in a hack that abuses a bug/feature and you need to understand the intricacies to understand half of it?

        • @[email protected]
          link
          fedilink
          124 days ago

          Honestly, also the latter. If you are using hundreds of thousands of cores for over 100h, every single second counts.

      • magic_lobster_party
        link
        fedilink
        144 days ago

        Well as long you know what you’re doing and weigh the risks with the benefits you’re probably ok.

        In my experience in the industry, there’s little benefit in pretending you’re John Carmack writing fast inverse square root. Understanding what you wrote 6 months ago outweighs most else.

    • @[email protected]
      link
      fedilink
      43 days ago

      But I must o p t i m i z e! ó_ò

      Yes, let’s spend two hours on figuring out optimal values of preallocating a vector for your specific use-case. It’s worth the couple of microseconds saved! Kleinvieh macht auch Mist.

    • @[email protected]
      link
      fedilink
      83 days ago

      Not only that, but everyone who sees that code later is going to waste so much time trying to understand it. That includes future you.

        • @[email protected]
          link
          fedilink
          83 days ago

          A yes, comments.

          int flubTheWozat(void *) {
            for (int i=0; i<4; i++) {
              lfens += thzn[i] % ugy;  // take mod of thnz[i] with ugy and add to lefens.
            }
            return (lfens % thzn[0]) == 4; // return if it's 4ish
          }