8.03.2012

Just away with it

I know I haven't been writing a lot, mostly due to my commitment at work. However, not writing anything prevented me from ranting randomly, so that's atleast a point. Anyway, what I wanted to write today is something about loops and iteration. I've been using loop iteration macros for a real while now and became very good at designing new loops, even for recursive tree iteration. This might sound rather useless or odd to everyone else, but it's a science on it's own and a challenge to overcome C's syntactical abilities. My sentinel lists work perfectly fine and in fact I'd never want to use anything else if it weren't so memory-demanding and slow compared to arrays. However... I can use the same approach to arrays and do some range check before so that an iteration will be effing fast as usual but still save to execute. You'd need to check to index for every involved array and could also get the range supported by all of them. It's similar to how Prolog solves constraints via step-bystep domain shrinking to decrease brutefore time. I always loved the concept and wondered how to utilize in everyday programming. And darn yes, you can used it anywhere this way. Half of the motivation for this came via my own programming language concepts. I always wanted to write an expression that's a loop statement cause someone put a range object somewhere. I won't have the awesomeness of a "a[i=1..x]=(sum=0,sum+=b[i..n])" formula, but it'd effin comftable, wouldn't it? What's often preventing my from prototyping all my ideas in head is that I'm finding extremely redundant and boring to write loops and decisions all the way. I love abstracted ways of describing and my vision is to completely remove iteration and decision from programming language syntax but still have it automated in the background. The real problem of programming isn't iteration, it's what to do inside the iteration - that should be the focus, that should be what programming language designers strive for.

No comments: