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

  • namingthingsiseasy@programming.dev
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    13 days ago

    I also agree that Javascript is worse. C++ has two excuses for being bad:

    1. It has to be compatible with C, a language that’s multiple decades older than it, and
    2. It is not garbage collected.

    Javascript has neither of those two excuses. People only use it today because of the ubiquity of web programming. In fairness, it did kill off a few other technologies, like Flash and Java applets, but that was more Webkit and Chrome picking it as the winner than anything else.

    Maybe these arguments are a bit hand-wavy, but the way I see it, it’s like the C of the web programming era.

      • namingthingsiseasy@programming.dev
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        13 days ago

        It may not be perfectly compatible, but being mostly compatible with C was a large part of its selling point when it was originally announced. Without that, it probably wouldn’t have seen as much adoption. However, that choice also led to a lot of difficult design decisions which have become a liability today.

        • BB_C@programming.dev
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          13 days ago

          mostly compatible with C

          It’s not mostly compatible, not even on the surface level, with any version of C post C89. And most of the ever-growing crap in the language came after the early years anyway, with constructs that are C++-exclusive.

    • Custodian6718@programming.dev
      link
      fedilink
      arrow-up
      2
      arrow-down
      2
      ·
      13 days ago

      My Brother Here are 2 for you from a java guy:

      1. JS was hastily put together
      2. it was Never meant to be used for something other than some interactivity in the web Actually Here is a Third one:
      3. it had to be redesigned from a lisp to a java Like Language for Marketing purposes…

      It also has a Lot of footguns but isnt nearly as cluttered and complicated and lets you Focus on your task at hand more

      • namingthingsiseasy@programming.dev
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        12 days ago

        Sure, I’m familiar with the conditions under which Javascript was created, but those are all political issues, not technical ones.

        If you had to go back and recreate another C++, you would be forgiven for creating a bad language, because making a good, usable language without a garbage collector is really hard, and even moreso when it has to be compatible with C. If you had to recreate Javascript… I would think it would be expected that you don’t make a language with the same kinds of flaws JS has today. There were plenty of examples of languages Javascript could have been based off of when it was written (like Java).

        Case in point: it took decades for Rust to come around which was the first real challenge to C++. In the same period of time, we saw several GC languages appear (Java, C#, Go, PHP, Swift, Ruby, Python, all younger than C++), all competing against each other. Javascript would have been abandoned if it didn’t have a monopoly on web programming.

          • namingthingsiseasy@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            22 hours ago

            Ease of adoption, if I’m not mistaken (so I was told 20-ish years ago when I started learning C++). Think back to the early/mid '90s - there was a lot of existing C code out there back then, people really didn’t want to throw it away but had few options if they wanted to use something else. C compatibility offered a way for large companies to incrementally adopt C++. All you had to do was change your compiler and your existing C code would compile, and you could write new stuff in C++. In the mean time, other languages could only leverage that existing code by using message passing or FFI-like frameworks. For example, you would have to use JNI if you were writing Java I think - maybe there were other options, but it was a big pain to deal with at the time, especially since tooling was probably not as polished back then.

            Maybe it’s not as much of an issue today, but they have to maintain compatibility with earlier versions, so while it helped adoption a lot, it also is a big challenge for the language and its ability to move forward.