|
Mathematical |
Engineering |
Scientific |
Assumptions |
Programs (algorithms) are abstract objects, they are correct or incorrect, as well as more or less efficient |
Programs (processes) affect the world, they are more or less effective and reliable |
Programs can model information processes, models are more or less accurate |
Aims |
Coherent theoretical structures and systems |
Investigating and explaining phenomena, solving problems |
Constructing useful, efficient, and reliable systems; solving problems |
Strengths |
Rigorous, results are certain, utilized in other traditions |
Combines deduction and induction, cumulative |
Able to work under great uncertainty, flexible, progress is tangible |
Weaknesses |
Incommensurability of results, uncertainty about what counts as proper science |
Limited to axiomatic systems |
Rarely follows rigid, preordained procedures; poor generalizability |
Methods |
Empirical, inductive, and deductive |
Analytic, deductive (and inductive) |
Empirical, constructive |
---
## A Fourth Tradition
- Programming as if people mattered