• 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.