After a long hiatus, I have gone back to work on a new version of my very first project - essentially a clone of Karel the Robot - this time delivered entirely via the web (not yet available though). Like rur-ple, and Guido van Robot, and many others I am sure, the user will have the option of executing all the code without interruptions, or stepping through, one instruction at a time. Since Javascript does not have a "sleep()" function, the way I implemented the program was to create a series of frames (like a movie) which can be then played back at a given frame rate, or stepped through one frame at a time, etc. This makes is easy to include the possibility of stepping back from a given frame instead of being restricted to only moving forward. However, since I use the browser to evaluate the code (rather than creating my own interpreter), I do not have the information regarding the code line whose execution corresponds to a given frame.
I know that Greg Wilson, Brad Miller, and many others I am sure, have expressed opinions about this being a desirable feature in a teaching environment. However, I don't want to implement things that are not needed (and will needlessly complicate the user interface) and, given the non-availability of the line of code which corresponds to a given frame, I am not sure that a really good case can be made for the possibility of going backwards. (Note that I have implemented a "pause" instruction which would enable a user to effectively set a breakpoint and, knowing where they inserted this instruction in the code, be able to follow step-by-step
the result.) The fact that *I* do not have a good use case for it right now does not mean that such a good use case exist. So, dear reader, can you think of a situation where such a feature would be useful? (in this type of programming environment.)