- software should do one thing and do it well
- code should be understandable, easy to build, easy to port
- dependencies should not be a problem
- the chosen language must not be a burden
- resources are scarce: if you say "unused memory is wasted memory" you are part of the problem
- software should do one thing and do it well - code should be understandable, easy to build, easy to port - dependencies should not be a problem - the chosen language must not be a burden - resources are scarce: if you say "unused memory is wasted memory" you are part of the problem
(I know, I'm a horrible person)