The tools we use have a profound and devious influence on our thinking habits, and therefore on our thinking abilities.
Edsger DijkstraOur intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed. For that reason we should do (as wise programmers aware of our limitations) our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible.
Edsger DijkstraA most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits.... A programming language is a tool that has profound influence on our thinking habits.
Edsger DijkstraProgress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.
Edsger Dijkstra