• Sonotsugipaa@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    1
    ·
    2 years ago

    C++ is an awful candidate for a first programming language to learn, at least nowadays - it is very powerful, but it’s also full of foot-guns and past a certain point the learning curve becomes a wall

    • Sylvartas@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      Basic C++ isn’t really confusing (if you are not handwriting makefiles). It starts to get fucky when you get into memory handling, templates, etc. I’m assuming they are only using C++ over C for basic OOP (class/structs inheritance etc).

    • xmunk@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      arrow-down
      5
      ·
      2 years ago

      Not really. Pointers are almost always a bad idea - just use const refs and you’ll be fine.

      • Sonotsugipaa@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 years ago

        If using pointers is out of the question, then why choose to learn a language with explicit memory access before anything else?

        I have yet to learn Rust, but from what I hear it’s simpler and (mostly?) memory-safe – implying that it’s generally a better first language to learn.

        • xmunk@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          2 years ago

          Pointers are almost always a bad idea - but you’ll probably get a lot of mileage out of having a handful of them in a large project… there’s an impulse with new C++ devs to do everything with pointers and use complex pointer arithmetic to do weird array offset and abuse predictable layouts to access stack variables etc… pointers are fine when used with moderation.

      • Gabu@lemmy.worldBanned
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        2 years ago

        What do you mean? Pointers are the best thing ever. It either works, or you manage to make fireworks!