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++

a screenshot from linkedin reading "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++"
you are viewing a single comment's thread
view the rest of the comments
[–] 54 points 1 year ago (11 children)

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

  • source
  • hideshow 11 child comments
  • [–] 26 points 1 year ago (3 children)

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

  • source
  • parent
  • hideshow 3 child comments
  • [–] 14 points 1 year 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.

  • source
  • parent
  • [–] 8 points 1 year ago (3 children)

    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.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 5 points 1 year ago (2 children)

    That what comments and documentation are for.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 7 points 1 year ago (1 child)

    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
    }
    
  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 1 year 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.

  • source
  • parent