Quote:
Originally Posted by Greg McKaskle
The explicit purpose of the feedback node is to retain information for another run of that diagram expression. The complication is specifying what the lifetime is for the retained state data -- when is it to be initialized and with what value. The initializer terminal on the feedback node and the left side of the shift register are there to specify the value and timing of the initialization. Perhaps it doesn't work the way your intuition says it should, and I'd like to hear more about that, but it seems pretty complete, useful, and teachable. I'd like to hear the cases you are having issues with.
Greg McKaskle
|
Well to put it short I am having problems predicting when feedback nodes get initialized, especially when teaching about them. They seem to be very determined in retaining information always always, and sometimes even between totally separate runs. Shift registers are completely predictable - they get initiated when the loop is started. But I've seen some generally nice code by rookie programmers get slaughtered by this. Stopping, editing code, and running it again, feedback nodes actually retained information from previous runs. I find it difficult to teach people "when to use what", because they're not going to accomplish anything if they don't learn these kinds of things the way they understand them, and with feedback node and shift registers being so similar, it's very hard for me to just tell someone "forget it, feedback node's broken, switch to shift register".