We program in high-level languages for several reasons. Perhaps we prefer that the code we write be compilable for multiple processors or platforms. Perhaps we prefer block structure rather than jumps. And perhaps we prefer solving problems strictly through an abstract quasi-mathematical algorithmic language without taking machine architecture into account.