I do really like this approach. Figuring out how the code should work in a high level language then optimising the bits that need speeding up works well with my brain. Occasionally in assembler I get stuck in the minutiae. That's the ex-8-bit games programmer in me I suppose.