• xthexder@l.sw0.com
      link
      fedilink
      English
      arrow-up
      9
      ·
      16 hours ago

      I think it’s actually quite elegant. No matter what it has to skip over argument 0 which will be the executable name echo.
      If the subtraction was removed and the loop changed to <, it would then need to do an addition or subtraction inside the loop to check if it’s the last argument.

      • palordrolap@fedia.io
        link
        fedilink
        arrow-up
        5
        ·
        16 hours ago

        The real question might be whether the compiler was smart enough to change var++ and var-- into ++var and --var when the initial values aren’t needed.

        As compiler optimisations go, it’s a fairly obvious one, but it was 1974 and putting checks like that in the compiler would increase its size and slow it down when both space and time were at a premium.