Xanthir wrote:And of course, both of those fail if the limit is zero.
You're not supposed to notice that.
Anyway I normally do one condition for the first print, and a while loop for the rest. If you want to avoid copy-paste code you can wrap a condition around the whole thing, but no it's not the least code. It's not a big enough deal to me to warrant it being a major argument in a language decision. I'm not a big fan of optional syntax, but I can see the appeal for adding or removing items from a list. I'm neutral, leaning towards things being the way I'm used to.
That said, there are other cases where you might want to do something different for the first loop as well, so it might be nice to have a syntax for code that only gets executed on the first iteration of the loop.