• dfyx@lemmy.helios42.de
      link
      fedilink
      arrow-up
      35
      ·
      19 hours ago

      There could be a hidden quadratic cost because the string needs to be reallocated and copied multiple times.

        • Gonzako@lemmy.world
          link
          fedilink
          arrow-up
          6
          arrow-down
          1
          ·
          15 hours ago

          Nah, I’d like to un-see recursion. It was way overblown on uni, I barely ever use it.

          • Cethin@lemmy.zip
            link
            fedilink
            English
            arrow-up
            8
            ·
            10 hours ago

            Recursion is amazing for a small selection of problems. Most of the time you don’t need, or want, it. When it is useful though, it tends to be really useful.

            I don’t understand people’s issue with it. I always found it easy. Maybe that’s why I feel this way. Maybe if you find it challenging you want to avoid it, even when it’s a good solution.

            • kamstrup@programming.dev
              link
              fedilink
              arrow-up
              3
              ·
              7 hours ago

              Most devs I know like recursion. Trouble is that many popular languages don’t support tail recursion, but throw a stackoverflow error after a few thousand levels. So you have to keep track of max recursion depth manually, and it starts to look like a complicated solution

            • Ephera@lemmy.ml
              link
              fedilink
              English
              arrow-up
              4
              ·
              8 hours ago

              I think, their point (and also my experience) is that you get taught about it in university a lot more than about simple loops, so it feels more important even though you rarely use it in reality.

              Same thing goes for linked lists and inheritance…

            • kamstrup@programming.dev
              link
              fedilink
              arrow-up
              1
              ·
              7 hours ago

              Most devs I know like recursion. Trouble is that many popular languages don’t support tail recursion, but throw a stackoverflow error after a few thousand levels. So you have to keep track of max recursion depth manually, and it starts to look like a complicated solution