Found this gem. A single well made video in a channel. The Channel owner probably made this channel just to house one video I guess.

I havent watched it all the way through but it seems to have alot of substance. By the looks of it the guy probably has spent atleast a year developing professionally in C++ and is pretty pissed to make that video as a ventfest

See if you cant agree with something he said

  • Redkey@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    11 hours ago

    I’m all for humourous roasts of things, but does anyone really find this funny? Was the author possibly being serious? I don’t know. What I do know is that I stopped watching after the first four examples because they were all deliberately incorrect or misleading, but also didn’t seem funny to me.

    1. Crazy initialization
      That sure is a lot of ways to initialize a variable! Even though some of these variables are quite different and would be initialized differently from each other in many other languages, even only counting the initializations that are functionally equivalent, there are a bunch of abuses of syntax that I’ve never seen used in the wild.

    At this point I had hope that this was meant to be amusing.

    1. Printing to the console
      C++ has had a version of C’s printf function from the very beginning. That weird stream syntax has some hardcore fans but many people ignore it. I did my CS degree close to 30 years ago, and the only time I used stream syntax was for one lab class exercise in which we had to show that we understood how to use stream syntax.

    They still could be going for a comedy roast, I guess.

    1. Getting a random number
      Much like the printf statement for number 2 above, C++ had its own version of C’s rand function from the start. I’ve never even heard of the stuff that’s being shown in this part of the video.

    OK that was virtually the same fake point as the previous one, and still no punchlines in sight.

    1. Having to type “static_cast” every time you recast a variable
      Nope, you don’t. You’re free to ask the compiler to automagically recast your variables to another type without giving any further detail just like you can in C. In fact, they’re often called “C-style casts”. There are even implicit casts, where you literally don’t add anything, and just cross your fingers that the compiler does what you think it should do. It’s like a little bit of the thrill of dynamic typing brought into C++! By using the static_cast keyword, you can tell the compiler that you understand that there’s a potential issue with this recast, but that you expect that the standard way of handling it will be fine. There are other keywords for more unusual situations; it’s not just a random bit of busywork added for no reason.
    • fruitcantfly@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      51 minutes ago
      1. Crazy initialization That sure is a lot of ways to initialize a variable! Even though some of these variables are quite different and would be initialized differently from each other in many other languages, even only counting the initializations that are functionally equivalent, there are a bunch of abuses of syntax that I’ve never seen used in the wild.

      Initialization in C++ is so simple that somebody wrote a nearly 300-page book on the subject: https://www.cppstories.com/2023/init-story-print/

      I plan to read it after finishing this 260 page book on move schematics in C++: https://www.cppmove.com/

    • onlinepersona@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      5 hours ago

      if you like C++, you dont know it well enough

      Or you are a masochist and just used to the abuse.

      The video isn’t humorous, it’s dead serious. C++ is terrible language.

    • ell1e@leminal.space
      link
      fedilink
      English
      arrow-up
      3
      ·
      10 hours ago

      I think the video is intended to criticize what is modern C++. From what I’ve heard, at least a large crowd of the modern C++ movement considers the C APIs outdated and is of the opinion you’re meant to use the C++ ones. Seen from that angle, many of the examples in the video make more sense.