6 ms·
Are you trying to steer the discussion to the quote "Coding is not allowed to start before 70% of the scheduled time has elapsed"? I think it's important to ta
by mathattack 13y ago
Are you trying to steer the discussion to the quote "Coding is not allowed to start before 70% of the scheduled time has elapsed"?
I think it's important to take this in context. EWD was a proponent of Computer Science as mathematical proof, and as such pushed hard for structured programming methods. This was the mid 80s.
In hindsight, we have learned that there are too many unknowables in true software engineering, so we need to be more Agile. Try something, fix it, and try again.
One of his big points in that paragraph is something that we should take to heart. Programming by cheap labor is very dangerous. We do need to think as well as test and do.
- nas 13y agoCoding using mathematical proofs only works if your problem is defined at a similar level of rigor. That sounds obvious when stated so simply but I think it is the major downfall of formal coding methods. Depending on the field, business software seems to be the worse, defining the problem seems to be more than half the battle.
- srean 13y agoIt sounds pejorative when stated this way, but there is algorithmic/scientific programming and then there is plumbing. Different techniques are effective for the two. Plumbing is non trivial, you realize it only when you have to do it yourself. What I see among many plumbers is the notion that the world of algorithmic programming does not exist ("I dont give a $#@! about big Oh, algorithms are entirely unnecessary, I dont even know what quicksort is and I dont care LOL"). Similarly the other camp trivializes the act of plumbing. Neither do our craft any favors.
- runT1ME 13y agoYou are invoking a false dilemma here that implies using structured programming methods is not compatible with an agile approach to designing of software.
- mathattack 13y agoPerhaps I can go back to the original quote that spawned this all... I don't think waiting for 70% of the time to expire to start coding is consistent with the iterative cycling of agile methods.
- AnimalMuppet 13y agoI'm sorry, I can't connect "Computer Science as mathematical proof" and "structured programming" at all. I mean, structured programming was much better than unstructured, goto-riddled, ball-of-mud programming, but... mathematical proof? Not with that foundation. You can actually do formal mathematical proofs of functional programming (at least in the small). You can do it for structured programming, too, but in the much smaller.
- Someone 13y agoSystems were waaaaay smaller, in that time, and the idea that one might even talk about invariants was foreign to many. Also, we don't have hardware that is functional all the way down (no pun intended, but it is somewhat unavoidable), so even a purely functional world must be built on something else. That better not be a ball-of-mud.