I think the concern is not with whether or not outputs or inputs are actually more important in any given case.
Lancie, correct me if I am worng, but if not:
I agree that the perspective should always be on the actions (outputs) and its seems with many of the threads started especially by students, this isn't the case.
I can't find a way to play devil's advocate and disagree. Bernie has good points, but still, when he is designing the code, I would expect the focus to be on the sequence of actions, then go back and fill in what in detail must happen as transition logic and permissives.
When troubleshooting and programming I always start with the outputs or actions.
It is been my experience 100% of the time trouble calls are triggered because an action failed to perform correctly. You start with what didn't happen, or what did happen, and work your way back to the devices, wiring, and possibly logic for help troubleshooting.
Same thing when programming, maybe because I wrote thousands of programs in basic and assembly but I always plan my sequences starting with the actions.
New kids should be taught this stuff. The emphasis on cutting through the ******** and starting with the outputs should be commonplace.
This makes more sense. I would agree that when laying out a program and planning the output is definitely the priority as it is the desired effect (which is essentially a real-world definition of "output"). If there are people learning who have not yet mastered this concept then I would suggest they step away from any controllers where safety is of concern.
As far as explaining WHY, well...I can't answer to that as it is *sigh* "highly illogical" (not a fan of Trek, but this cliche seems to fit the bill).