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@fedia.io
    link
    fedilink
    arrow-up
    44
    arrow-down
    1
    ·
    22 hours ago

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

    • merc@sh.itjust.works
      link
      fedilink
      arrow-up
      5
      ·
      10 hours 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.

        • merc@sh.itjust.works
          link
          fedilink
          arrow-up
          3
          ·
          6 hours 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
          }
          
          • Zacryon@feddit.org
            link
            fedilink
            arrow-up
            2
            ·
            5 hours ago

            Haha, meaningful, informative comments that make it easier to understand the code of course. ;)

    • Zacryon@feddit.org
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      9 hours 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.

    • Chrobin@discuss.tchncs.de
      link
      fedilink
      arrow-up
      24
      arrow-down
      1
      ·
      20 hours ago

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

      • magic_lobster_party@fedia.io
        link
        fedilink
        arrow-up
        13
        ·
        18 hours 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.

      • MonkderVierte@lemmy.zip
        link
        fedilink
        arrow-up
        7
        arrow-down
        1
        ·
        18 hours 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?

        • Chrobin@discuss.tchncs.de
          link
          fedilink
          arrow-up
          11
          ·
          18 hours ago

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