Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>The loop semantics do not have anything to do with arrays.

Loop in general or "for each" style loop, that's huge difference.

The 2nd one has a lot to do with collections.

>You can see that they are not crazy for picking the first implementation; it's less instructions and less code

Yes, it is not crazy when you're looking at it from the reverse engineering / implementation side

but if you start thinking about it from user's perspective then it is very bad behaviour

because they used "foreach" like loop which is a concept of walking thru every element of collection.



I still don't see how looping over a collection is different from looping over a sequence of numbers from 1 to n.


Depends what do you actually mean by sequence, but mostly purpose.

Normal "for" is like: repeat this code body as long as condition is satisfied

Foreach is more like: walk thru this collection

Look (c#):

foreach (var item in items) ...

for (int i=0; i<10; i++) { }

In the 2nd version it is possible to jumps ahead, back, do not move, etc. Generally play around "i's" values

Meanwhile I haven't seen yet any1 trying to do anything like this in foreach, because it is meant for just walking thru collection




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: