I'm used to thinking of Mr. Turing as a mathematician deeply interested in automating computation, less so as a programmer slogging out code. It's heartwarming to see his hard-won tips to other programmers from ~1950, and they are remarkably relevant today. e.g....
----
A balance must always be struck between the following incompatible desires:
* To carry the process through as fast as possible
* To use as little storage space as possible
* To finish the programming as quickly as possible
* To achieve the maximum possible accuracy
----
1. Make a plan
2. Break the problem down
3. Do the programming of the new subroutines
4. Program the main routine
----
A balance must always be struck between the following incompatible desires:
----1. Make a plan 2. Break the problem down 3. Do the programming of the new subroutines 4. Program the main routine
----