1. coding -> direct manipulation of data 2. procedures -> goals and constraints 3. text dump -> spatial representations 4. sequential -> parallel