If a program manipulates a large amount of data, it does so in a small number of ways. It is easier to write an incorrect program than understand a correct one. A programming language in which the irrelevant is as portentious as the critical in programs is a low order language. It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. If you have a procedure with 10 parameters, you probably missed some.
Recursion is at the root of computation since it trades description for time.
If two people write exactly the same program, each should be put in micro-code and then they certainly won't be the same. Everything should be built top-down, except the first time. If a listener nods his head when you're explaining your program, wake him up. A program without a loop and a structured variable isn't worth writing. If a language doesn't affect the way you think about programming, it's not worth knowing.