:loops are horrible horrible horrible! They have been shunned in just about every language they exist in. 'goto' is a dreaded operation in just about every language. Most languages have multiple ways to create a loop (each designed to make code more readable in certain situations). A while() loop is useful when no initialization is needed and a non-standard iteration, for example
while (%i != 4)
{
echo %i
if (%i == 2) {
inc %i 2
}
else {
inc %i
}
}
Notice how depending on the value of %i, the iteration is done differently.
For loops are different, they are used when initialization is needed and the iteration is standard:
for (%i = 0; %i != 4; inc %i)
{
echo %i
}
Then do while loops are used when you want to execute the body of the loop before checking the conditional:
do {
echo %i
inc %i
} while (%i != 4)
Those are the standard ones, but some languages even go farther than that. For example foreach which returns an entry in a list (useful for mIRC tokens)
foreach %tok ($1-) {
echo %tok
}
that would echo the value of $1, $2, etc. Could even be expanded say
foreach %tok ($1-,32) {
echo %tok
}
where the 32 (space) is the token to seperate by.
Then there are less common loops (primarily in perl). For example perl has an until() loop which continues until the expression evaluates to true, (rather than a while which waits till it evaluates to false). It also has do {} until() which does the same thing as until() except it follows the rules of do {} while(). And from what I'm told the newest versions of perl even go one step further and have a loop called loop {} which basically creates an infinite loop (same as doing while(1) { }).
Ok now I agree implementing all of those would be overkill, but my point is simply saying "there are other ways to create a loop" wasn't good for any of the other languages out there, so why should that be a good enough excuse for mIRC?