In the specific example cited, I would argue that my example is the more clear version of the code.
With something like DBPro, with all its creation commands, unrolling and using the code ~as~ data makes a lot of sense for a lot of applications.
For example... Lets say we were making a lot of cubes, that are non-arbitrarily sized and placed and we want to place them at specific locations, with specific texture maps, etc etc etc...
rem some description
make object box 1,10,23,3
position object 1,56,23,12
color object 1,rgb(0,255,0)
rem some description
make object box 1,10,23,3
position object 1,56,23,12
color object 1,rgb(0,255,0)
rem some description
make object box 1,10,23,3
position object 1,56,23,12
color object 1,rgb(0,255,0)
is much more readable than something like...
for x = 1 to 5
read ax,bx,ay,by,az,bz,c1,c2,c3
make object x,ax,ay,az
position object x, bx,by,bz
color object x,rgb(c1,c2,c3)
NEXT
data 23,34,54,23,45,65,23,68,99
data 23,34,54,23,45,65,23,68,99
data 23,34,54,23,45,65,23,68,99
data 23,34,54,23,45,65,23,68,99
data 23,34,54,23,45,65,23,68,99
Never mind in that second case you would have all sorts of exceptions to your... parser... as you wanted to change things around. Like use a cone instead of a cube for example.