• observantTrapezium
    link
    fedilink
    281 year ago

    I’ve heard this trope before but I’m skeptic. I’m not a C expert but I can’t believe memory bugs in that language are so much more benign than in C++.

    • DarkenLM
      link
      fedilink
      32
      edit-2
      1 year ago

      With C, you need to carefully craft your own gun with just iron ingots and a hammer. You will shoot yourself in the foot, but at least you’ll have the knowledge that it was your craftsmanship that led to it.

      With C++, there are already prebuilt guns and tons of modifications that you can combine at will. If you shove it in the right way, you can make a flintlock shoot a 50 cal, but don’t complain when your whole leg gets obliterated.

      • xigoi
        link
        fedilink
        41 year ago

        C also has pre-built guns, such as gets and scanf.

        • DarkenLM
          link
          fedilink
          31 year ago

          Oh, for sure. It’s just that in C, you have to make most of, well anything, really.

    • @[email protected]
      link
      fedilink
      161 year ago

      It is indeed a trope and a mostly false one - C++ introduces more dramatic ways to footgun yourself but a plethora of tools to make it easier to avoid them - in particular the built in library functions actually encourage good C++ programming practices…

      Well, let’s just ignore gets().

      • @MajorHavoc
        link
        81 year ago

        Yep. Incredibly powerful, and it will not hesitate to help you blow your own legs off.

        The big difference is that git will save your legs in reflog for a couple of weeks.

        • magic_lobster_party
          link
          fedilink
          21 year ago

          Learning about reflog was a game changer. Now I’m never afraid of breaking my branch. If I mess up, I can always git reset —hard to a previous state.

          Another game changer was learning that a perfectly valid way of doing squash is to do git reset to an earlier commit and then do git commit -a. Saves a lot of rebasing headache.