| ▲ | Twey 2 days ago | |
The ‘three tribes of programming’ [1] strike again! This thread is full of claims that ‘programming is really engineering’ (in accordance with the article), ‘programming is really building’, or ‘programming is really philosophy/mathematics’. They're all true! It's not that one of them is the True Nature of software and anyone doing the others is doing it wrong or at a lower level. These are three different things that it is completely reasonable to want to do with software, and each of them can be done to an amateur or expert level. But only one of them is amenable to scientific analysis. (The other two are amenable to market testing and formal proof, respectively.) | ||
| ▲ | Twey 2 days ago | parent [-] | |
On second thought the tribal testing framework here is a bit simplistic, and there's some cross-tribe pollination, to varying levels of success. The ‘maker’ tribe also tests with HCI assessments like GOMS and other methods from the ‘soft’ sciences like psychology and sociology, not just economics/business science. Model-checking and complexity proofs (and complexity type systems) are mathematical attempts to apply mathematician-programmer methods to engineer-programmer properties. Cyclomatic complexity is an attempt to measure mathematician-programmer properties using engineer-programmer methods. | ||