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

  • fruitcantfly@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    20 hours 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/

    • Redkey@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      18 hours ago

      Initialization in C++ is so simple that somebody wrote a nearly 300-page book on the subject

      There’s a book about 101 ways to cut potatoes. Perhaps that could be a real mike-drop bit of evidence that we shouldn’t be cooking potatoes.

      Here’s a 249-page book “just” about atomics and locks in Rust. Does a book this large about only one aspect of Rust prove that it’s a terrible language? No, because as with the C++ book, if we look at the summary of contents we can see that it actually covers a great deal more, simply with a focus on those topics.

      Luckily we don’t have to be compete masters of every aspect of a language in order to use it.

      Honestly, I think that modern C++ is a very piecemeal language with no clear direction, and it has many issues because of that. But the title and page count of a single book is not a convincing argument of anything.

      • fruitcantfly@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        10 minutes ago

        That is not just a book about how to “cut potatoes”. That is “A Creative Cooking Guide for Exercising Knife Skills”, using potatoes as a medium. Similarly, your Rust book is an book on concurrency using Rust as a medium, as per the title: “Low-Level Concurrency in Practice”. Both are complex topics, and both have picked a medium. Thus, they do not necessarily reflect on the underlying complexity of the medium, though concurrency in Rust is a complex topic due to the fact that the core language itself does a lot of work to make it “safe”. Async would probably be an even better example of that.

        However, in the case of initialization in C++ and in the case of move schematics in C++, these are topics that are complex because the core language has been accumulating complexity for a long time, and because the language designers cannot afford to break backwards compatibility. Which makes implementing and using move-schematics in C++, as an end-user of the language, much, much more complicated than in a language like Rust, that did not have to bolt this behavior on top of an already complicated language. Similarly with initialization, where C++ has accumulated many, syntactically overlapping forms of initialization, for both member and non-member variables variables

      • ISO@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        11 hours ago

        Here’s a 249-page book “just” about atomics and locks in Rust. Does a book this large about only one aspect of Rust prove that it’s a terrible language? No

        If that book was about a million ways of how to just use atomics in Rust, then yes, that would be potentially bad. But SURPRISE SURPRISE, it’s not. As you can see for yourself.

        Not sure what you were getting at there. Even hard C++ copers don’t attempt to argue against the fact that C++ is huge, and not only that, it’s the biggest language around by an easy margin (this can be roughly and superficially measured by comparing spec sizes).

        It’s not the size, but rather everything on top of it, and contributing to it, from general incoherence to bad design to countless misfeatures, that require non-trivial argumentation.

        • Redkey@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          9 hours ago

          Your comment seems to be trying to disagree with me, but I think you wrote almost the same things that I wrote in the comment that you’re replying to:

          • The Rust book is about much more than just what’s in its title (my point being that this also goes for the cited C++ book).
          • C++ is a baroque and sometimes unwieldy language.